VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

DROP CAST

功能描述

删除一个类型转换。

注意事项

  • 要能删除一个类型转换,用户必须拥有源或者目的数据类型。这是和创建一个类型转换相同的权限。
  • 用户无法删除系统自带的转换,因为这是数据库系统所必需的。

语法格式

DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ]

参数说明

  • IF EXISTS

    如果指定的转换不存在,那么发出一个 notice 而不是抛出一个错误。

  • source_type

    类型转换里的源数据类型。

  • target_type

    类型转换里的目标数据类型。

  • CASCADE

    RESTRICT

    这些键字没有任何效果,因为在类型转换上没有依赖关系。

示例

1、创建用于执行该转换的函数。

CREATE OR REPLACE FUNCTION _time_to_integer(time with time zone)
RETURNS integer AS $$
SELECT
EXTRACT(HOUR FROM $1)::integer * 10000
+ EXTRACT(MINUTE FROM $1)::integer * 100
+ EXTRACT(SECONDS FROM $1)::integer
$$ IMMUTABLE STRICT LANGUAGE SQL;

2、创建类型转换。

CREATE CAST (time with time zone AS integer)
WITH FUNCTION _time_to_integer (time with time zone)
AS IMPLICIT;

3、删除类型转换。

DROP CAST IF EXISTS (time with time zone AS integer);

兼容性

DROP CAST遵循 SQL 标准。