TO_CHAR

TO_CHAR函数将
expr的值按format格式转换为CHAR/VARCHAR类型字符串数据。
YashanDB支持将所有普通类型的数据转换为CHAR/VARCHAR类型的数据:
根据支持类型可将TO_CHAR函数分为如下三类:
- TO_CHAR(日期时间型)、TO_CHAR(日期时间型,FORMAT):expr的值为日期时间型时,支持携带格式符;此时函数返回VARCHAR类型字符串数据。
- TO_CHAR(数值型)、TO_CHAR(数值型,FORMAT):expr的值为数值型时,支持携带格式符;此时函数返回VARCHAR类型字符串数据。
- TO_CHAR(非日期/数值的其他类型):
- expr的值为字符型并且携带格式符时,expr尝试往NUMBER类型转换,转换成功则按照TO_CHAR(数值型,FORMAT)执行,转换失败则函数返回转换报错。
- 不携带格式符时,当expr的值CHAR类型,函数返回CHAR类型字符串数据,否则返回VARCHAR类型字符串数据。
当expr的值为NULL时,函数返回NULL。
expr支持LOB类型隐式转换,但不支持32000字节以上的XMLTYPE、LOB类型数据。
使用本函数时,expr的值超过NUMBER类型的表示范围时,本函数会返回数据溢出错误。
format
指定转换的格式。
format支持中文年月日,须用双引号包围中文字符,expr中的中文字符无须用双引号包围。
日期时间型数据的格式支持以下字符的组合:
- 年
- 年份:'YYYY'、'YYY'、'YY'、'Y'、'RRRR'、'RR'
- 由ISO标准定义下的年份: 'IYYY'、'IYY'、'IY'、'I'
- 一年中的一天(1-366):'DDD'
- 一年中的一周(1-53):'WW'
- 由ISO标准定义下一年中的一周(1-53):'IW'
- 世纪:'CC'
- 月
- 月份数字:'MM'
- 月份全称:'MONTH'
- 月份缩写:'MON'
- 季度
- 日
- 周
- 一个月中的一周(1-5):'W'
- 一周中的一天全称(SUNDAY-SATURDAY):'DAY'
- 一周中的一天数字(1-7):'D'
- 时
- 24小时制小时:'HH24'
- 12小时制小时:'HH'、'HH12'
- 12小时制时段:'AM'、'PM'、'A.M.'、'P.M.'
- 分
- 秒
- 儒略日(不支持向量化计算)
- 连接字符:':', '-', '/', '.', ',', ';', '\', '_', ' ', '[', ']'
(以下格式符列存表暂不支持)
- 年份:'RRRR'、'RR'
- 由ISO标准定义下的年份: 'IYYY'、'IYY'、'IY'、'I'
- 由ISO标准定义下一年中的一周(1-53):'IW'
- 一天的总秒数:'SSSSS'
Note:
- 有符号年份'SYYYY'格式符暂未实现,目前和无符号年份'YYYY'格式符完全等价。
- 有符号世纪'SCC'格式符暂未实现,目前和无符号世纪'CC'格式符完全等价。
数值型数据的格式支持以下字符的组合:
- 小数点:
.,如'99.99'
- 美元符号:
$,如'$9,999'
- 强迫零显示:
0,如'00000'
- 指定位置返回数字:
9,如'9999'
- 指定位置返回小数点:
D,如'99D99'
- 设首位或末尾为-或+:
S,如'S9999'
- 千位分隔符:
,,如'9,999'
- 在指定位置返回千位分隔符:
G,如'9G9'
(以下为列存表专用格式)
- 当整数部分为零时,返回定点数字整数部分的空格:
B,如'B99'
- 在指定位置返回货币符号:
C,如'C99'
- 以科学计数法的形式返回数字:
EEEE,如'9EEEE'
- 在指定位置显示货币符号:
L,如'L99''
- 负值末尾填充负号,正值末尾填充空格:
MI,如'9MI'
- 负值放在<>中,正值首尾填充空格:
PR,如'9PR'
- 返回大写罗马数字形式:
RN,如'RN'
- 返回小写罗马数字形式:
rn,如'rn'
- 以最少的字符数返回十进制数字字符串:
TM,如'TM'
- 在指定位置返回欧元等货币符号:
U,如'U99'
- 返回10
n值,其中n是V后面的数字:
V,如'99V99'
- 返回指定数字的十六进制值:
X,如'XXX'
- 去掉前后空格和小数后面多余的0:
FM,如'FM999'
当expr的值为布尔型的数据时,不需要指定format格式,指定会报错。
示例
当expr的值为日期时间型的数据时,不指定format表示系统对该日期类型指定的默认格式转换。
示例
当expr的值为数值型的数据时,不指定format表示按该数据的字面值转换为字符串。
示例(HEAP表)
示例(TAC、LSC表)
当expr的值为字符型的数据时,不指定format表示按该数据的字面值转换为字符串。
示例(HEAP表)
示例(TAC、LSC表)
TO_CHAR函数将
expr的值按format格式转换为CHAR/VARCHAR类型字符串数据。
YashanDB支持将所有普通类型的数据转换为CHAR/VARCHAR类型的数据:
根据支持类型可将TO_CHAR函数分为如下三类:
- TO_CHAR(日期时间型)、TO_CHAR(日期时间型,FORMAT):expr的值为日期时间型时,支持携带格式符;此时函数返回VARCHAR类型字符串数据。
- TO_CHAR(数值型)、TO_CHAR(数值型,FORMAT):expr的值为数值型时,支持携带格式符;此时函数返回VARCHAR类型字符串数据。
- TO_CHAR(非日期/数值的其他类型):
- expr的值为字符型并且携带格式符时,expr尝试往NUMBER类型转换,转换成功则按照TO_CHAR(数值型,FORMAT)执行,转换失败则函数返回转换报错。
- 不携带格式符时,当expr的值CHAR类型,函数返回CHAR类型字符串数据,否则返回VARCHAR类型字符串数据。
当expr的值为NULL时,函数返回NULL。
expr支持LOB类型隐式转换,但不支持32000字节以上的XMLTYPE、LOB类型数据。
使用本函数时,expr的值超过NUMBER类型的表示范围时,本函数会返回数据溢出错误。
format
指定转换的格式。
format支持中文年月日,须用双引号包围中文字符,expr中的中文字符无须用双引号包围。
日期时间型数据的格式支持以下字符的组合:
- 年
- 年份:'YYYY'、'YYY'、'YY'、'Y'、'RRRR'、'RR'
- 由ISO标准定义下的年份: 'IYYY'、'IYY'、'IY'、'I'
- 一年中的一天(1-366):'DDD'
- 一年中的一周(1-53):'WW'
- 由ISO标准定义下一年中的一周(1-53):'IW'
- 世纪:'CC'
- 月
- 月份数字:'MM'
- 月份全称:'MONTH'
- 月份缩写:'MON'
- 季度
- 日
- 周
- 一个月中的一周(1-5):'W'
- 一周中的一天全称(SUNDAY-SATURDAY):'DAY'
- 一周中的一天数字(1-7):'D'
- 时
- 24小时制小时:'HH24'
- 12小时制小时:'HH'、'HH12'
- 12小时制时段:'AM'、'PM'、'A.M.'、'P.M.'
- 分
- 秒
- 儒略日(不支持向量化计算)
- 连接字符:':', '-', '/', '.', ',', ';', '\', '_', ' ', '[', ']'
(以下格式符列存表暂不支持)
- 年份:'RRRR'、'RR'
- 由ISO标准定义下的年份: 'IYYY'、'IYY'、'IY'、'I'
- 由ISO标准定义下一年中的一周(1-53):'IW'
- 一天的总秒数:'SSSSS'
Note:
- 有符号年份'SYYYY'格式符暂未实现,目前和无符号年份'YYYY'格式符完全等价。
- 有符号世纪'SCC'格式符暂未实现,目前和无符号世纪'CC'格式符完全等价。
数值型数据的格式支持以下字符的组合:
- 小数点:
.,如'99.99'
- 美元符号:
$,如'$9,999'
- 强迫零显示:
0,如'00000'
- 指定位置返回数字:
9,如'9999'
- 指定位置返回小数点:
D,如'99D99'
- 设首位或末尾为-或+:
S,如'S9999'
- 千位分隔符:
,,如'9,999'
- 在指定位置返回千位分隔符:
G,如'9G9'
(以下为列存表专用格式)
- 当整数部分为零时,返回定点数字整数部分的空格:
B,如'B99'
- 在指定位置返回货币符号:
C,如'C99'
- 以科学计数法的形式返回数字:
EEEE,如'9EEEE'
- 在指定位置显示货币符号:
L,如'L99''
- 负值末尾填充负号,正值末尾填充空格:
MI,如'9MI'
- 负值放在<>中,正值首尾填充空格:
PR,如'9PR'
- 返回大写罗马数字形式:
RN,如'RN'
- 返回小写罗马数字形式:
rn,如'rn'
- 以最少的字符数返回十进制数字字符串:
TM,如'TM'
- 在指定位置返回欧元等货币符号:
U,如'U99'
- 返回10
n值,其中n是V后面的数字:
V,如'99V99'
- 返回指定数字的十六进制值:
X,如'XXX'
- 去掉前后空格和小数后面多余的0:
FM,如'FM999'
当expr的值为布尔型的数据时,不需要指定format格式,指定会报错。
示例
当expr的值为日期时间型的数据时,不指定format表示系统对该日期类型指定的默认格式转换。
示例
当expr的值为数值型的数据时,不指定format表示按该数据的字面值转换为字符串。
示例(HEAP表)
示例(TAC、LSC表)
当expr的值为字符型的数据时,不指定format表示按该数据的字面值转换为字符串。
示例(HEAP表)
示例(TAC、LSC表)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3092969/
,如需转载,请注明出处,否则将追究法律责任。