您的位置:首页 > 数据库

开发 PostgreSQL 的 Cast 函数进行类型转换, 使用 CREATE CAST

2016-04-29 11:43 573 查看
CREATE CAST (source_type AS target_type)
WITH FUNCTION function_name (argument_type [, ...])
[ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (source_type AS target_type)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (source_type AS target_type)
WITH INOUT
[ AS ASSIGNMENT | AS IMPLICIT ]



1. 创建方法:

先使用 CREATE FUNCTION function_name (argument_type [, ...]) 创建一个转换函数;

然后 CREATE CAST (source_type AS target_type)

WITH FUNCTION function_name (argument_type [, ...])


2. 创建时可选择的选项的说明:

一般转换时的语句如下:

CAST(x AS typename) or x::typename

当两种类型的底层表示相同时, 可以使用 WITHOUT FUNCTION;

若想使用现成的 source_type 的 out 函数和 target_type 的 in 函数, 则可以使用 WITH INOUT;

当指定 AS ASSIGNMENT 时, 则当对表的一列进行赋值, 如 INSERT INTO 操作时, 会自动隐式地调用转换函数;

当指定 AS IMPLICIT 时, 则对于任何场合, 都会自动隐式地调用转换函数, 这个需要谨慎使用, 文档上有说明.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: