::的使用说明
例子1:
select '123'::NUMERIC as number;
结果1:
例子2:
select '123' as number;
对比看出:
例子1是数字的123,例子2是文本的123。
::作用:
将一种类型的常量转化成指定类型的常量
例子1等价于以下两种写法
select cast('123' as NUMERIC);
select NUMERIC'123';
当然如果是’123a’这种不能转换的,SQL会报错
::NUMERIC实现两个数字的相除,四舍五入保留指定的小数位
错误用法:
select round(400/300,4);
结果为:1
两个integer类型的数字相除,结果保留整数部分
正确用法:
select round(400::NUMERIC/300::NUMERIC,4);
结果为:1.3333
转化成浮点数,相除的结果为浮点数