About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_tools
⚠️
windows_first
Summary:
The documentation is largely platform-neutral in its examples and explanations, focusing on Azure Data Factory/Synapse expression syntax and JSON. However, there is a recurring Windows bias in the references to time zone names and formatting: the documentation repeatedly refers users to 'Microsoft Time Zone Values' and links to Windows-specific time zone documentation. The time zone names used in examples (e.g., 'Pacific Standard Time') are Windows-style, and there is no mention of IANA/Olson time zone identifiers, which are standard on Linux and other non-Windows systems. This may cause confusion or extra work for Linux users. There are no PowerShell or Windows command-line examples, but the time zone handling is Windows-centric.
Recommendations:
- Document whether only Windows time zone names are supported, or if IANA/Olson time zone identifiers can be used. If so, provide Linux-friendly examples.
- If only Windows time zones are supported, explicitly state this limitation and provide guidance for Linux users on how to map IANA time zones to Windows time zones (e.g., via a mapping table or link to a converter).
- Where time zone names are referenced, mention both Windows and IANA/Olson equivalents, or provide a cross-reference.
- Review all links and references to ensure they are not exclusively Windows-focused when cross-platform alternatives exist.
- Consider adding a note or section clarifying time zone handling for users on Linux or macOS environments.
Create pull request
Flagged Code Snippets
{
"type": "@{if(equals(1, 2), 'Blob', 'Table' )}",
"name": "@{toUpper('myData')}"
}
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*timestamp*> | Yes | String | The string that contains the timestamp |
| <*interval*> | Yes | Integer | The number of specified time units to add |
| <*timeUnit*> | Yes | String | The unit of time to use with *interval*: "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" |
| <*format*> | No | String | Either a [single format specifier](/dotnet/standard/base-types/standard-date-and-time-format-strings) or a [custom format pattern](/dotnet/standard/base-types/custom-date-and-time-format-strings). The default format for the timestamp is ["o"](/dotnet/standard/base-types/standard-date-and-time-format-strings) (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) and preserves time zone information. |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*updated-timestamp*> | String | The timestamp plus the specified number of time units |
||||
*Example 1*
This example adds one day to the specified timestamp:
And returns this result: `"aGVsbG8="`
<a name="base64ToBinary"></a>
### base64ToBinary
Return the binary version for a base64-encoded string.
And returns this result: `"HelloWorld"`
<a name="contains"></a>
###
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*timestamp*> | Yes | String | The string that contains the timestamp |
| <*destinationTimeZone*> | Yes | String | The name for the target time zone. For time zone names, see [Microsoft Time Zone Values](/windows-hardware/manufacture/desktop/default-time-zones#time-zones), but you might have to remove any punctuation from the time zone name. |
| <*format*> | No | String | Either a [single format specifier](/dotnet/standard/base-types/standard-date-and-time-format-strings) or a [custom format pattern](/dotnet/standard/base-types/custom-date-and-time-format-strings). The default format for the timestamp is ["o"](/dotnet/standard/base-types/standard-date-and-time-format-strings) (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) and preserves time zone information. |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*converted-timestamp*> | String | The timestamp converted to the target time zone |
||||
*Example 1*
This example converts a timestamp to the specified time zone:
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*timestamp*> | Yes | String | The string that contains the timestamp |
| <*sourceTimeZone*> | Yes | String | The name for the source time zone. For time zone names, see [Microsoft Time Zone Values](/windows-hardware/manufacture/desktop/default-time-zones#time-zones), but you might have to remove any punctuation from the time zone name. |
| <*destinationTimeZone*> | Yes | String | The name for the target time zone. For time zone names, see [Microsoft Time Zone Values](/windows-hardware/manufacture/desktop/default-time-zones#time-zones), but you might have to remove any punctuation from the time zone name. |
| <*format*> | No | String | Either a [single format specifier](/dotnet/standard/base-types/standard-date-and-time-format-strings) or a [custom format pattern](/dotnet/standard/base-types/custom-date-and-time-format-strings). The default format for the timestamp is ["o"](/dotnet/standard/base-types/standard-date-and-time-format-strings) (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) and preserves time zone information. |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*converted-timestamp*> | String | The timestamp converted to the target time zone |
||||
*Example 1*
This example converts the source time zone to the target time zone:
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*timestamp*> | Yes | String | The string that contains the timestamp |
| <*sourceTimeZone*> | Yes | String | The name for the source time zone. For time zone names, see [Microsoft Time Zone Values](/windows-hardware/manufacture/desktop/default-time-zones#time-zones), but you might have to remove any punctuation from the time zone name. |
| <*format*> | No | String | Either a [single format specifier](/dotnet/standard/base-types/standard-date-and-time-format-strings) or a [custom format pattern](/dotnet/standard/base-types/custom-date-and-time-format-strings). The default format for the timestamp is ["o"](/dotnet/standard/base-types/standard-date-and-time-format-strings) (yyyy-MM-ddTHH:mm:ss.fffffffK), which complies with [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) and preserves time zone information. |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*converted-timestamp*> | String | The timestamp converted to UTC |
||||
*Example 1*
This example converts a timestamp to UTC:
And returns this result: `15`
<a name="dayOfWeek"></a>
###
Return a uniform resource identifier (URI) encoded version for a
string by replacing URL-unsafe characters with escape characters.
Consider using [uriComponent()](#uriComponent),
rather than `encodeUriComponent()`.
Although both functions work the same way,
`uriComponent()` is preferred.
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*value*> | Yes | String | The string with the JSON object to convert <p>The JSON object must have only one root property, which can't be an array. <br>Use the backslash character (\\) as an escape character for the double quotation mark ("). |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*xml-version*> | Object | The encoded XML for the specified string or JSON object |
||||
*Example 1*
This example creates the XML version for this string,
which contains a JSON object:
`xml(json('{ \"name\": \"Sophia Owen\" }'))`
And returns this result XML:
| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| <*xml*> | Yes | Any | The XML string to search for nodes or values that match an XPath expression value |
| <*xpath*> | Yes | Any | The XPath expression used to find matching XML nodes or values |
|||||
| Return value | Type | Description |
| ------------ | ---- | ----------- |
| <*xml-node*> | XML | An XML node when only a single node matches the specified XPath expression |
| <*value*> | Any | The value from an XML node when only a single value matches the specified XPath expression |
| [<*xml-node1*>, <*xml-node2*>, ...] </br>-or- </br>[<*value1*>, <*value2*>, ...] | Array | An array with XML nodes or values that match the specified XPath expression |
||||
*Example 1*
Following on Example 1, this example finds nodes that match the
`<count></count>` node and adds those node values with the `sum()` function:
`xpath(xml(parameters('items')), 'sum(/produce/item/count)')`
And returns this result: `30`
*Example 2*
For this example, both expressions find nodes that match the
`<location></location>` node, in the specified arguments,
which include XML with a namespace. The expressions use the backslash
character (\\) as an escape character for the double quotation mark (").
* *Expression 1*
`xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')`
* *Expression 2*
`xpath(xml(body('Http')), '/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]')`
Here are the arguments:
* This XML, which includes the XML document namespace, `xmlns="http://contoso.com"`: