Sybase IQ常用函数大全--数据类型转换函数

61 篇文章 0 订阅
48 篇文章 1 订阅

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 + 2 AS 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[yy]yy.mm.dd
3103dd/mm/yy[yy]
4104dd.mm.yy[yy]
5105dd-mm-yy[yy]
6106dd mmm yy[yy]
7107mmm dd, yy[yy]
8108hh:nn:ss
-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
40140[yy]yy-mm-dd hh:nn:ss.ssssss
-365yyyyjjj(采用字符串或整数形式,其中 jjj 是一年中的儒略天数,范围为 1 到 366)

CONVERT 格式样式表中日期分量的缩写和值:

缩写日期分量
hh小时0 – 23
nn分钟0 – 59
ss0 – 59
sss毫秒0 – 999
ssssss微秒0 – 999999
mmm一月到十二月
dd1 – 31
yyyy0001 – 9999
mm1 – 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要分析的字符串(分析目的是确定该字符串是否代表有效的数值)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值