CONVERT
功能描述
Vastbase G100在SQL Server兼容模式下支持CONVERT函数,用于将表达式由一种数据类型转换为另一种数据类型,返回值为函数中指定数据类型。
注意事项
- 该功能仅在数据库兼容模式为SQL Server时能够使用(即创建DB时DBCOMPATIBILITY='MSSQL'),在其他数据库兼容模式下不能使用该特性。
- SQL Server时间类型与Vastbase G100不完全一致,该函数在Vastbase G100中使用时间类型timestamp代替datetime类型。
- 支持版本:
- V2.2 Build 10(Patch No.10)及以上补丁版本。
- V2.2 Build 12及以上版本。
语法格式
CONVERT(data_type[(length)], expression[,style ])
参数说明
data_type
目标数据类型。
length
指定目标数据类型长度的可选整数,适用于允许用户指定长度的数据类型。
默认值:30
expression
有效表达式。
style
指定 CONVERT函数将如何转换表达式的整数表达式。
默认值:0
仅支持style值为0。
示例
前置步骤:创建兼容模式为SQL Server的库db_sqlserver,并进入。
CREATE DATABASE db_sqlserver DBCOMPATIBILITY='MSSQL'; \c db_sqlserver
示例1:直接调用CONVERT函数,将timestamp类型转换为varchar类型。
select convert(varchar,getdate());
结果返回如下:
getdate --------------------- Feb 10 2023 02:40PM (1 row)
示例2:在函数和存储过程中调用CONVERT函数。
1、创建函数。
create function fun_1131634(b1 int,b2 out char(8))return char(8) as begin select (convert(char(8),b1) || 'oo') into b2; return b2; end; /
2、调用新建函数验证结果。
select convert(text,fun_1131634(3));
结果返回如下:
fun_1131634 ------------- 3oo (1 row)
3、创建存储过程。
create procedure pro_1131634(b1 int,b2 out char(8)) as begin select (convert(char(8),b1) || 'oo') into b2; raise notice '%',b2; end; /
4、调用存储过程验证结果。
select convert(text,pro_1131634(6));
结果返回如下:
NOTICE: 6oo CONTEXT: referenced column: pro_1131634 pro_1131634 ------------- 6oo (1 row)