CREATE CAST用于定义数据类型之间的转换,CAST的创建需要是source_type的所有者,并且需要具备Superuser
权限。本文为您介绍CREATE CAST的用法。
语法
CREATE CAST (source_type AS target_type)
WITH INOUT
[ AS ASSIGNMENT | AS IMPLICIT ]
参数说明如下表所示。
参数 | 描述 |
source_type | 该转换的源数据类型。 |
target_type | 该转换的目标数据类型。 |
WITH INOUT | 表示该转换为I/O转换。 该转换通过调用源数据类型的输出函数来执行,并将结果传给目标数据类型的输入函数。 |
AS ASSIGNMENT | 表示该转换可以在赋值模式下隐含调用。 |
AS IMPLICIT | 表示该转换可以在任意环境里隐含调用。 |
示例
通常,在Filter中比较字符类型和数值类型时,默认不进行转换。您可以使用CREATE CAST
语句,创建一个支持比较字符类型和数值类型的CAST,示例语句如下。
CREATE TABLE test_cast(id text);
INSERT INTO test_cast VALUES(888);
SELECT * FROM test_cast aa WHERE id > 888;
CREATE CAST (text AS integer) WITH INOUT AS IMPLICIT;
SELECT * FROM test_cast aa WHERE id > 888;
更多关于CREATE CAST
的详情,请参见PostgreSQL CREATE CAST。
文档内容是否对您有帮助?