数字格式控制符:
9 代表一位数字(替换符。有,数字显示;没有。不什么都显示。)
0 代表一位数字(有数字,显示;没有,强制显示0。)
$ 美圆符号
L 本地货币
. 小数点
, 千分符
B 当整数部分为0时,将整数部分填充为空格。 例:B999
MI 返回带有后继符号而不是前导负号的负数值,正数值将带有后继的空格。999MI
S 返回一个前导符号或后继符号,正数为+,负数为-。 S9999 或 9999S
PR 使用尖括号返回负数。正数将有前导或后继空格。999PR
D 在指定位置返回一个小数点。两侧的9的个数指定了最大的位数。99D9
G 在指定位置返回千分符,G可以在FORMAT_model中出现多次。9G999G9
C 在指定位置返回ISO货币符号。C可以在FORMAT_model中出现多次。C99
L 在指定位置上返回本地货币符号。 L99
V 返回一个被乘以10的N次方的数值,这里N是V后边9的个数。99V99
EEEE 使用科学记数法返回该数值。9.99EEEE
RM 使用大写的罗马数字表示返回该数值。 RM
rm 使用小写的罗马数字表示返回该数值。 rm
FM 返回不含前导和后继空格的数值。 FM99.09
格式控制符位数一定要大于或等于NUMBER的位数,不能小于。
用RR解决跨世纪问题:
小于50的认为是1950-2050
大于50的认为是1951-1999
数字和日期是不能相互转换的。
ASCIISTR(string)
返回只包含有效的SQL字符和斜线的字符串。string中的任何无效的字符将被转换为一个相当的数字,在之前加上斜线。
BIN_TO_NUM(num[,num]...)
将一位矢量转换位相当的数字。它的参数是一系列逗号隔开的NUMS,每一个都必须是0或1。
例如BIN_TO_NUM(1,0,1,1)将返回11,因为11的二进制表示是1011。当使用分组集合和GROUP BY 子句时该函数很有用。 CHARTOROWID(x)函数,
将字符串转换成一个ROWID类型的值,注意格式必须采用ROWID数据类型格式,即“数据块号:行序号:数据文件号”。
COMPOSE(string)
以相同字符集中完全规格化Unicode形式返回string.string可以是CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB或NCLOB类型。
DECOMPOSE(string)
返回一个Unicode字符串。它是string的规范分解。string可以是CHAR、VARCHAR2、 NCHAR、NVARCHAR2、CLOB或NCLOB类型。
FROM_TZ(timestamp,timezone)
返回一个TIMESTAMP WITH TIMEZONE 类型值。它将TIMESTAMP(没有时区信息)和提供的TIMEZONE组合在一起。
HEXTORAW(string)
将由STRING表示的二进制数值转换为一个RAW数值。STRING应该包含十六进制值。STRING中的每两个字符表示结果RAW中的一个字节。HEXTORAW和RAWTOHEX互为反函数。
NUMTODSINTERVAL(x,unit)
将X转换为INTERVAL DAY TO SECOND 值,X应该是一个数字。UNIT是一个字符字符串(可以是CHAR、VARCHAR2、NCHAR或NVARCHAR2),且是''DAY''、''HOUR''、''MINUTE''、''SECOND''之一。unit是不区分大小写的,返回值的缺省精度为9。
NUMTOYMINTERVAL(x,unit)
将X转换成INTERVAL YEAR TO MONTH 值,X应该是一个数字。UNIT是一个字符字符串(可以是CHAR、VARCHAR2、NCHAR或NVARCHAR2),且是''YEAR''或''MONTH''之一。unit是不区分大小写的,返回值的缺省精度为9。
REFTOHEX(refvalue)
返回一REF refvalue的十六进制表示。
RAWTOHEX(rawvalue)
将RAW类型值rawvalue转换为一个十六进制表示的字符串。rawvalue中的每个字节转换为一个双字符的字符串。
RAWTONHEX(rawvalue)
将RAW类型值rawvalue转换为一个十六进制表示的字符串。rawvalue中的每个字节转换为一个双字符的字符串。
RAWTONHEX返回值是NVARCHAR2类型而不是VARCHAR2类型。
ROWIDTOCHAR(rowid)函数,将ROWID类型值转换成字符串。与CHARTOROWID互为反函数。
ROWIDYONCHAR(rowid) 与ROWIDTOCHAR类似,返回类型是NCHAR,而不是CHAR。
TO_CLOB(string)
将string转换为CLOB。string可以是文字或另一个LOB列。如果参数包含NCHAR数据,它被转换为数据库字符集
TO_DSINTERVAL(string[,nlsparams])
将string(可以是CHAR、VARCHAR2、NCHAR、NVARCHAR2)转换为 INTERVAL DAY TO SECOND 类型。如果
选定nlsparams,则nlsparams只能包含小数点和千分位字符的NLS_NUMERIC_CHARARCTERS表示。
TO_LOB(long_column)
将long_column转换成LOB。这个函数用于将LONG和LONG RAW分别转换为CLOB和LOB。
TO_MULTI_BYTE(string)
返回将所有单字节字符替换为等价的多字节字符的STRING。该函数仅当数据库字符集同时包含单字节和多字节字符时才使用。否则,STRING不会进行任何处理而被返回,与TO_SINGLE_BYTE 互为反函数。
TO_NCHAR
和TO_CHAR相似,结果是属于国家字符集而不是数据库字符集。
TO_NCLOB(string)
将STRING转换为NCLOB。STRING可以是文字或另一LOB列。
TO_SINGLE_BYTE(string)
返回将所有双字节字符替换为等价的单字节字符的STRING。。该函数仅当数据库字符集同时包含单字节和多字节字符时才使用。否则,STRING不会进行任何处理而被返回,与TO_MULTI_BYTE 互为反函数。
TO_TIMESTAMP(string[,format[,nlsparams]])
将其参数CHAR或VARCHAR2类型string转换成TIMESTAMP类型。
TO_TIMESTAMP_TZ(string[,format[,nlsparams]])
将其参数CHAR或VARCHAR2类型string转换成 TIMESTAMP WITH TIMEZONE 类型。
TO_YMINTERVAL(string)
将string(可以是CHAR、VARCHAR2、NCHAR、NVARCHAR2)转换为INTERVAL YEAR TO MONTH 类型。
TO_YMINTERVAL与TO_DSINTERVAL相似,除了它不能使用NLS参数作为参数并返回YEAR TO MONTH时间间隔而不DAY TO SECOND 时间间隔。