You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/refguide/modeling/domain-model/oql/oql-expression-syntax.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -738,6 +738,16 @@ The table below describes which `CAST` conversions are supported:
738
738
739
739
Converting `DATETIME` or `BOOLEAN` to `STRING` returns different format per database.
740
740
741
+
##### `DECIMAL` precision
742
+
743
+
`DECIMAL` data type can have precision and scale as parameters:
744
+
745
+
-`DECIMAL(<precision>, <scale>)` — in the case when both parameters are specified, those values are used as precision and scale of the resulting data type
746
+
-`DECIMAL(<precision>)` — when only precision is specified, scaale is set to 0. The resulting data type in that case is `DECIMAL(<precision>, 0)`
747
+
-`DECIMAL` — when no parameters are specified, default values are used. Precision is set to 28, and scale is set to 8: `DECIMAL(28, 8)`
748
+
749
+
If the original value has more digits in the fractional part than required scale, the fractional part is rounded to the required scale. In that case, rounding is done according to the database configuration.
750
+
741
751
#### Examples
742
752
743
753
A frequent use case for `CAST` is to convert your date from the `DATETIME` data type to a text formatted `STRING` type:
@@ -758,6 +768,21 @@ SELECT (Number : 2) as Normal, (Cast(Number AS DECIMAL) : 2) as Casted FROM Sale
758
768
| 1 | 1.0 |
759
769
| 1 | 1.5 |
760
770
771
+
In case of conversion to `DECIMAL`, scale and precision can be specified
772
+
773
+
```sql
774
+
SELECT
775
+
CAST('123.0987654321'ASDECIMAL) AS default_decimal,
776
+
CAST('123.0987654321'ASDECIMAL(20)) AS decimal_precision,
777
+
CAST('123.0987654321'ASDECIMAL(20, 6)) AS decimal_precision_scale
0 commit comments