sql - PostgreSQL:我想知道'cast'的区别
问题描述
我尝试将 mssql 查询转换为 postgresql 查询。
mssql 查询是
CONVERT(VARCHAR, column)
我知道 postgresql cast 有两种方式。
1.
CAST(column as VARCHAR)
列::VARCHAR
有什么不同?
使用第二种方法可以吗?
解决方案
PostgreSQL 接受两种等效的类型转换语法:
CAST ( expression AS type ) expression::type
CAST 语法符合 SQL;:: 的语法是 PostgreSQL 的历史用法。
(强调我的)
所以两者都做同样的事情,cast()
作为标准 SQL,::
作为 Postgres 特定的。
请注意,还有第三种投射方式(如手册中所述)
也可以使用类似函数的语法来指定类型转换:
typename ( expression )
但是不推荐,因为手册说:“显然,这不是可移植应用程序应该依赖的东西”
推荐阅读
- jenkins - Jenkins 管道将 Node + Gulp 项目中生成的战争发布到 Artifactory
- android - 使用 mock-maker-inline 配置时的 Mockito MissingMethodInvocationException
- wordpress - 在 Wordpress 中上传文件
- bash - ( if [ -z "$1" ] ) 条件在 bash 编程中意味着什么
- python - 使用 python 请求上传文件
- reactjs - 是否可以安装仅包含 Material-UI 一个组件的包?
- flutter - 错误:在提供程序包中找不到类型“SingleChildCloneableWidget”
- javascript - 使用反应路由器时如何将道具传递给路由
- python - 为什么要通过计算字符的异或来比较两个字符串?
- python - 交换线空间图的轴