String formatter
Modify the formatting of one or more values according to a customizable rule.
TIP:
Using the string formatter, you can, for example:
- Add characters before or after a value, if the value of the source variable numeric.
- Format and parameterize SQL queries to use in database objects
- Link multiple strings together in a series
- Apply formatting, such as decimal places or float rounding, to numbers
Properties
Property | Description |
---|---|
Format | The formatting rule for variable reference:
|
Mode | The direction of the dynamic link:
|
Source
One or more variables, identified by a placeholder with an index number in the following {index} format. The index number is progressive and it must be an integer greater than zero {0}.
TIP:
Placeholders can appear in any order in the formatting rule. For example, the syntax "the minimum value of {3}, {0} and {2} is {1}" is valid.
Data types
Format | Description | Example |
---|---|---|
g | Short date and time, local |
|
F | Extended date and time, local |
|
X | Short date and time, UTC |
|
x | Extended date and time, UTC |
|
U | Complete Universal Date and Time, UTC |
|
p | Short date, local |
|
P | Extended date, local |
|
d | Short date, UTC |
|
D | Extended date, UTC |
|
t | Short time, local |
|
T | Extended time, local |
|
h | Short time, UTC |
|
H | Extended time, UTC |
|
Format | Description | Example |
---|---|---|
d | Numerical, without thousands separator. After the format placeholder, the number of decimal places is configured with an integer (without padding). |
|
n | Numerical, with thousands separator. After the format placeholder, the number of decimal places is configured with an integer (without padding). |
|
e | Exponential notation. After the format placeholder, the number of significant numbers is configured with an integer. |
|
f | Fixed-point notation. After the format placeholder, the exact number of decimal places is configured with an integer. |
|
p | Percentage. After the format placeholder, an integer is used to configure the number of decimal places. |
|
x | Hexadecimal notation. | 255 ► ff |
b | Binary notation. | 107 ► 1101011 |
o | Octal notation. | 56 ► 70 |
Format | Description | Example |
---|---|---|
c | Constant format: [-][d’.’]hh’:’mm’:’ss[‘.’fffffff] |
|
g | General short format: [-][d’.’]hh’:’mm’:’ss[‘.’fffffff] |
|
G | Extended general format: [-][d’.’]hh’:’mm’:’ss[‘.’fffffff] |
|
Format | Description | Example |
---|---|---|
l | All lowercase. | grüßEN ► grüßen |
u | All uppercase. | grüßEN ► GRÜSSEN |
t | All first letters uppercase. | grüßEN ► GRÜSSEN |
f | Case independent. | grüßEN ► grüssen |
Format | Description | Example |
---|---|---|
sql_identifier | Formats a given String or LocalizedText as a table or column identifier. | - |
sql_literal | Formats the value of a variable as an SQL literal value ( Number , String , date , time , and so on). | - |
Inverse formatting
The inverse formatting feature allows you to modify a formatted value at runtime to replace it with a new value that the application shows with the same formatting at runtime.
The inverse formatting feature requires the following settings to operate correctly:
- The dynamic linkModeof the converter must beRead/Write.
- TheFormatfield must have only one placeholder or source. The placeholder can have a suffix and/or prefix and be set with a format string such as {0:n}.
Output
The string entered in the
Format
property, based on the formatting rules with values in place of the placeholder or placeholders.Logical representation
Example of a logical conversion in the
Complex Dynamic Link Editor:
SQL queries examples
Parameterize the name of the internal column with the condition:
SELECT * FROM Table1 WHERE {0:sql_identifier} > 5
Comparison with a data variable:
SELECT * FROM AlarmsDatalogger WHERE Time > {0:sql_literal}
Parameterize the
LIKE
operator:SELECT * FROM AlarmsDatalogger WHERE Name LIKE '{0}'
Parameterize a part of a query with a placeholder:
SELECT * FROM Table1 {0}
The placeholder with index
0
is linked to a project string variable and parameterizes a column; The placeholder with index 1
is linked to a numeric variable that represents the value for the comparison operator >
:SELECT * FROM {0:sql_identifier} WHERE Column1 > {1:sql_literal}
Parameterize the table name, the column and also the
LIKE
operator:SELECT {0:sql_identifier} FROM {1:sql_identifier} WHERE {0:sql_identifier} LIKE '{2}'
Provide Feedback