SybaseIQ常⽤函数⼤全--数据类型转换函数
Sybase IQ常⽤函数⼤全–数据类型转换函数
查询索引:
1. BIGINTTOHEX 函数:返回 VARCHAR(16) 中⼗进制整数的⼗六进制等效数字。
2. CAST 函数:返回转换为提供的数据类型的表达式的值。
3. CONVERT 函数:返回转换成提供的数据类型的表达式。
4. INTTOHEX 函数:返回⼗进制整数的⼗六进制等效数字。
5. ISNUMERIC 函数:测试字符串参数是否可以转换为数字。如果可以进⾏转换,则此函数返回 1;否则返回 0。如果参数为 NULL,
则返回 0。
1. BIGINTTOHEX 函数
返回 VARCHAR(16) 中⼗进制整数的⼗六进制等效数字。
语法:
BIGINTTOHEX (<integer-expression>)
解析:
参数说明
integer-expression要转换成⼗六进制的整数
BIGINTTOHEX 接受取值为 BIGINT 的整数表达式并返回⼗六进制等效数字。返回值的左侧会附加零,最多可达 16 位数字。所有⽆标度的整数数据类型都将⽤作整数表达式。
如果需要,将会⾃动执⾏转换。仅当⼩数值为零时,才会截断常量。如果列中包含正⼩数位数值,则⽆法截断该列。如果转换失败,则SAP IQ 返回错误,除⾮ CONVERSION_ERROR 选项为 OFF。在这种情况下,结果为 NULL。
⽰例:
-- 返回值 FFFFFFFFFFFFFFF7:
SELECT BIGINTTOHEX (-9)FROM iq_dummy
2. CAST 函数
返回转换为提供的数据类型的表达式的值。
语法:
CAST (<expression>AS<data type>)
解析:
数字转字符串,字符串转数字。
参数说明
表达式
(expression)
要转换的表达式
data type 表达式将要转换成的数据类型。显式设置数据类型或指定 %TYPE 属性以将数据类型设置为表或视图中列的数据类型或设置为变量的
数据类型。
如果未指定字符串类型的长度,SAP IQ 将选择适当的长度。如果没有为 DECIMAL 转换指定精度和⼩数位数,数据库服务器会选择适当的值。
显式设置数据类型或指定 %TYPE 属性以将数据类型设置为表或视图中列的数据类型或设置为变量的数据类型。例如:
SELECT CAST(NULL AS NUMERIC) A,
CAST(NULL AS NUMERIC(15,2)) B
-- 说明为:
A NUMERIC(1,0)
B NUMERIC(15,2)
⽰例:
-- 以下函数确保字符串被⽤作⽇期:
CAST('2000-10-31'AS DATE)
-- 表达式 1 + 2 的值,表达式将要转换成的数据类型。设置计算出的数据类型,并将结果转换为单字符字符串(即数据服务器分配的长度):
CAST(1+2AS CHAR)
-- 可以使⽤ CAST 函数缩短字符串长度:
SELECT CAST( lname AS CHAR(5))FROM Customers
3. CONVERT 函数
返回转换成提供的数据类型的表达式。
语法:
CONVERT(<data-type>,<expression>[,<format-style>])
解析:
这个转换常⽤来转换成指定的时间格式。
参数说明
data-type 表达式将要转换成的数据类型。显式设置数据类型或指定 %TYPE 属性以将数据类型设置为表或视图中列的数据类型或设置为变量
的数据类型。
表达式
(expression)
要转换的表达式。
format-style对于将字符串转换为⽇期或时间数据类型以及相反的转换过程,format-style 是描述要使⽤的⽇期格式字符串的样式代码编号。CONVERT 格式样式代码输出如下:
不含世纪 (yy)含世纪 (yyyy)输出
-0 或 100mmm dd yyyy hh:nnAM(或 PM)
1101mm/dd/yy[yy]
2102[dd
3103dd/mm/yy[yy]
<[yy]
5105dd-mm-yy[yy]
6106dd mmm yy[yy]
7107mmm dd, yy[yy]
8108hh:nn:ss
不含世纪 (yy)含世纪 (yyyy)输出
-9 或 109mmm dd yyyy hh:nn:ss:sssAM(或 PM)
10110mm-dd-yy[yy]
11111[yy]yy/mm/dd
12112[yy]yymmdd
-13或113dd mmm yyyy hh:nn:ss:sss(24 ⼩时制,欧洲缺省时间 + 毫秒,4 位数年份)
14114hh:nn:ss(24 ⼩时制)
-20或120yyyy-mm-dd hh:nn:ss(24 ⼩时制,ODBC 规范,4 位数年份)
-21或121yyyy-mm-dd hh:nn:ss.sss(24 ⼩时制,ODBC 规范加毫秒,4 位数年份)
36136hh:nn:ss.ssssssAM(或 PM)
37137hh:nn:ss.ssssss
38138mmm dd yy[yy] hh:nn:ss.ssssssAM(或 PM)
39139mmm dd yy[yy] hh:nn:ss.ssssss
decimal是整数数据类型
40140[yy]yy-mm-dd hh:nn:ss.ssssss
-365yyyyjjj(采⽤字符串或整数形式,其中 jjj 是⼀年中的儒略天数,范围为 1 到 366)CONVERT 格式样式表中⽇期分量的缩写和值:
缩写⽇期分量值
hh⼩时0 – 23
nn分钟0 – 59
ss秒0 – 59
sss毫秒0 – 999
ssssss微秒0 – 999999
mmm⽉⼀⽉到⼗⼆⽉
dd⽇ 1 – 31
yyyy年0001 – 9999
mm⽉ 1 – 12
4. INTTOHEX 函数
返回⼗进制整数的⼗六进制等效数字。
语法:
INTTOHEX (<integer-expression>)
解析:
参数说明
integer-expression要转换成⼗六进制的整数。
数据库选项 ASE_FUNCTION_BEHAVIOR 指定 SAP IQ 函数(包括 INTTOHEX 和 HEXTOINT)的输出与 SAP ASE 函数的输出⼀致。ASE_FUNCTION_BEHAVIOR 的缺省值为 OFF。
5. ISNUMERIC 函数
测试字符串参数是否可以转换为数字。如果可以进⾏转换,则此函数返回 1;否则返回 0。如果参数为 NULL,则返回 0。语法:
ISNUMERIC (<string>)
解析:
参数说明
string要分析的字符串(分析⽬的是确定该字符串是否代表有效的数值)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论