From 7d42e2a88db741f7b23e1cd0debc94fea9bad820 Mon Sep 17 00:00:00 2001 From: Augusto Passalacqua Date: Tue, 12 May 2026 15:00:28 +0200 Subject: [PATCH 1/2] Add documentation for the LPAD and RPAD OQL functions --- .../modeling/domain-model/oql/_index.md | 2 + .../domain-model/oql/oql-expression-syntax.md | 112 ++++++++++++++++++ 2 files changed, 114 insertions(+) diff --git a/content/en/docs/refguide/modeling/domain-model/oql/_index.md b/content/en/docs/refguide/modeling/domain-model/oql/_index.md index 15b0cc0336c..2577a5155a1 100644 --- a/content/en/docs/refguide/modeling/domain-model/oql/_index.md +++ b/content/en/docs/refguide/modeling/domain-model/oql/_index.md @@ -46,6 +46,8 @@ OQL is under constant development so some expressions and features are not avail | DATEPARSE | 11.10.0 | | DATETRUNC | 11.9.0 | | LOCATE | 11.9.0 | +| LPAD | 11.11.0 | +| RPAD | 11.11.0 | | STRING_AGG in View Entities and Datasets | 11.2.0 | | SUBSTRING | 11.9.0 | diff --git a/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md b/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md index afce4e213a1..6f122af4229 100644 --- a/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md +++ b/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md @@ -692,10 +692,12 @@ These are the currently supported functions: * LENGTH * LOCATE * LOWER +* LPAD * RANGEBEGIN * RANGEEND * REPLACE * ROUND +* RPAD * UPPER ### CAST{#cast} @@ -1329,6 +1331,61 @@ SELECT * FROM Sales.Customer WHERE LOWER(LastName) = 'doe' This query can no longer take advantage of an index for `LastName` for comparison, resulting in a performance decrease. {{% /alert %}} +### LPAD {#lpad-function} + +#### Description + +Pads a string on the left side with a specified character to reach a target length. + +{{% alert color="info" %}} +This function was introduced in Mendix version 11.11.0. +{{% /alert %}} + +#### Syntax + +```sql +LPAD ( expression , length_expression [, pad_expression ] ) +``` + +#### expression + +`expression` specifies the expression of type `string` to pad. + +#### length_expression + +`length_expression` specifies, as an `integer`, the length of the resulting string. + +{{% alert color="info" %}} +If `length_expression` is smaller than the length of `expression`, this function truncates it. This behavior is database specific. +{{% /alert %}} + +#### pad_expression + +`pad_expression` is an optional parameter that specifies the character or string to pad with. If not specified, the space character is used. + +{{% alert color="info" %}} +If `pad_expression` has more than one character, the behavior of this function is database dependent. +{{% /alert %}} + +#### Examples + +```sql +SELECT LPAD('hello', 10) AS padded FROM Sales.Order +``` + +| padded | +|:-----------| +| hello | + + +```sql +SELECT LPAD('hello', 10, 'x') AS padded FROM Sales.Order +``` + +| padded | +|:-----------| +| xxxxxhello | + ### Ranges in Datasets {{% alert color="info" %}} @@ -1507,6 +1564,61 @@ SELECT ROUND((Price : 7), 2) as RoundedPrice, Price : 7 FROM Sales.Order | 0.33 | 3.33333333 | | 1.17 | 1.17142857 | +### RPAD {#rpad-function} + +#### Description + +Pads a string on the right side with a specified character to reach a target length. + +{{% alert color="info" %}} +This function was introduced in Mendix version 11.11.0. +{{% /alert %}} + +#### Syntax + +```sql +RPAD ( expression , length_expression [, pad_expression ] ) +``` + +#### expression + +`expression` specifies the expression of type `string` to pad. + +#### length_expression + +`length_expression` specifies, as an `integer`, the length of the resulting string. + +{{% alert color="info" %}} +If `length_expression` is smaller than the length of `expression`, this function truncates it. +{{% /alert %}} + +#### pad_expression + +`pad_expression` is an optional parameter that specifies the character or string to pad with. If not specified, the space character is used. + +{{% alert color="info" %}} +If `pad_expression` has more than one character, the behavior of this function is database dependent. +{{% /alert %}} + +#### Examples + +```sql +SELECT RPAD('hello', 10) AS padded FROM Sales.Order +``` + +| padded | +|:-----------| +| hello | + + +```sql +SELECT RPAD('hello', 10, 'x') AS padded FROM Sales.Order +``` + +| padded | +|:-----------| +| helloxxxxx | + ### SUBSTRING{#substring-function} #### Description From 5bc8c1d388fc61151636a4c946e9e295b36999df Mon Sep 17 00:00:00 2001 From: Augusto Passalacqua Date: Mon, 18 May 2026 11:47:31 +0200 Subject: [PATCH 2/2] Change introduction date for oql padding functions to 11.12 and remove pad_expression multi-character alert --- .../refguide/modeling/domain-model/oql/_index.md | 4 ++-- .../domain-model/oql/oql-expression-syntax.md | 12 ++---------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/content/en/docs/refguide/modeling/domain-model/oql/_index.md b/content/en/docs/refguide/modeling/domain-model/oql/_index.md index 2577a5155a1..d8ce2315583 100644 --- a/content/en/docs/refguide/modeling/domain-model/oql/_index.md +++ b/content/en/docs/refguide/modeling/domain-model/oql/_index.md @@ -46,8 +46,8 @@ OQL is under constant development so some expressions and features are not avail | DATEPARSE | 11.10.0 | | DATETRUNC | 11.9.0 | | LOCATE | 11.9.0 | -| LPAD | 11.11.0 | -| RPAD | 11.11.0 | +| LPAD | 11.12.0 | +| RPAD | 11.12.0 | | STRING_AGG in View Entities and Datasets | 11.2.0 | | SUBSTRING | 11.9.0 | diff --git a/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md b/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md index 6f122af4229..28f7acb4fa7 100644 --- a/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md +++ b/content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md @@ -1338,7 +1338,7 @@ This query can no longer take advantage of an index for `LastName` for compariso Pads a string on the left side with a specified character to reach a target length. {{% alert color="info" %}} -This function was introduced in Mendix version 11.11.0. +This function was introduced in Mendix version 11.12.0. {{% /alert %}} #### Syntax @@ -1363,10 +1363,6 @@ If `length_expression` is smaller than the length of `expression`, this function `pad_expression` is an optional parameter that specifies the character or string to pad with. If not specified, the space character is used. -{{% alert color="info" %}} -If `pad_expression` has more than one character, the behavior of this function is database dependent. -{{% /alert %}} - #### Examples ```sql @@ -1571,7 +1567,7 @@ SELECT ROUND((Price : 7), 2) as RoundedPrice, Price : 7 FROM Sales.Order Pads a string on the right side with a specified character to reach a target length. {{% alert color="info" %}} -This function was introduced in Mendix version 11.11.0. +This function was introduced in Mendix version 11.12.0. {{% /alert %}} #### Syntax @@ -1596,10 +1592,6 @@ If `length_expression` is smaller than the length of `expression`, this function `pad_expression` is an optional parameter that specifies the character or string to pad with. If not specified, the space character is used. -{{% alert color="info" %}} -If `pad_expression` has more than one character, the behavior of this function is database dependent. -{{% /alert %}} - #### Examples ```sql