TRUNC
返回完全截断的 expression 值(接近零)。提供 places 实参可将表达式截断为您指定的小数位数。
行为类型
不可变语法
TRUNC ( expression [ , places ] )
参数
expression
- 为
NUMERIC
或DOUBLE PRECISION (FLOAT)
类型的表达式。 places
- INTEGER 值。当 places 为正整数时,Vertica 可对小数点右侧的值进行截断。当 places 为负整数时,Vertica 可对小数点左侧的值进行截断。
注意
将 TRUNC
与 NUMERIC
数据类型配合使用,则返回 NUMERIC
并保留原始精度和标度。
=> SELECT TRUNC(3.5);
TRUNC
-------
3.0
(1 row)
示例
=> SELECT TRUNC(42.8);
TRUNC
-------
42.0
(1 row)
=> SELECT TRUNC(42.4382, 2);
TRUNC
---------
42.4300
(1 row)
以下示例创建了一个包含两列的表,添加了一行值,显示小数点左侧和右侧的截断示例。
=> CREATE TABLE sampletrunc (truncol1 NUMERIC, truncol2 NUMERIC);
CREATE TABLE
=> INSERT INTO sampletrunc VALUES (1234567, .1234567);
OUTPUT
--------
1
(1 row)
=> SELECT TRUNC(truncol1,-3) AS p3, TRUNC(truncol1,-4) AS p4, TRUNC(truncol1,-5) AS p5 FROM sampletrunc;
p3 | p4 | p5
-------------------------+-------------------------+-------------------------
1234000.000000000000000 | 1230000.000000000000000 | 1200000.000000000000000
(1 row)
=> SELECT TRUNC(truncol2,3) AS p3, TRUNC(truncol2,4) AS p4, TRUNC(truncol2,5) AS p5 FROM sampletrunc;
p3 | p4 | p5
-------------------+-------------------+-------------------
0.123000000000000 | 0.123400000000000 | 0.123450000000000
(1 row)