我尝试将mssql查询转换为postgresql查询。
mssql查询是
CONVERT(VARCHAR, column)
我知道postgresql强制转换是两种方法。
1。
CAST(column as VARCHAR)
column :: VARCHAR
有什么区别?
可以使用第二种方法吗?
答案 0 :(得分:1)
PostgreSQL接受类型转换的两种等效语法:
CAST ( expression AS type ) expression::type
CAST语法符合SQL; ::的语法是PostgreSQL的历史用法。
(重点是我的)
所以两者都做同样的事情,cast()
是标准SQL,::
是Postgres特定的。
请注意,存在第三种投射方式(如手册中所述)
也可以使用类似函数的语法来指定类型转换:
typename ( expression )
但是不建议您这样做,因为手册上写着:“ 显然,这不是便携式应用程序应该依赖的东西”