oracle--常用函数5--转换函数

来源:互联网 发布:邮件营销软件破解 编辑:程序博客网 时间:2024/06/15 19:23
1.chartorowid(c1) --字符串转为rowid
SELECT chartorowid('AAAADeAABAAAAZSAAA') FROM DUAL
c1--字符串,这个字符串其实是个rowid,完全符合rowid的格式才能转为rowid


2.ROWIDTOCHAR(rowid)---rowid转字符串
SELECT ROWIDTOCHAR(rowid) FROM DUAL;


3.CONVERT(c1,set1,set2)---将源字符串c1 从一个语言字符集set2转换到另一个目的set1字符集
其实就是返回set2里的c1字符,在set1里的对应字符
select convert('strutz','we8hp','f7dec') "conversion" from dual;


4.HEXTORAW(c1)---十六进制转二进制
select HEXTORAW('A123')  from dual;


5.RAWTOHEX(c1)---二进制转十六进制
select RAWTOHEX('A123')  from dual;


6.TO_CHAR(x[[,c2],C3])---将日期或数据转换为char数据类型
x是一个date或number数据类型。
c2为格式参数
c3为NLS设置参数
如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日份所使用的语言。
如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符,以及货币符号。
NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"
select to_char(sysdate,' PM yyyy-mm-dd hh24:mi:sssss AD year mon day ddd iw') FROM DUAL;


7.TO_DATE(X[,c2[,c3]])---将字符串转换为日期型
如果x格式为日期型(date)格式时,则相同表达:date x
如果x格式为日期时间型(timestamp)格式时,则相同表达:timestamp x
select to_date('199912','yyyymm'),
to_date('2000.05.20','yyyy.mm.dd'),
(date '2008-12-31') XXdate, 
to_date('2008-12-31 12:31:30','yyyy-mm-dd hh24:mi:ss'),
(timestamp '2008-12-31 12:31:30') XXtimestamp
from dual;


8.TO_NUMBER(X[[,c2],c3])--字符串转换为数字
select TO_NUMBER('199912'),TO_NUMBER('450.05') from dual;


9.TO_MULTI_BYTE(c1)---半角转全角
select to_multi_byte('高A') text from dual;


10.to_single_byte(c1)---全角转半角
select to_multi_byte('高A') text from dual;


11.nls_charset_id(c1)---返回字符集名称对应的id值
select nls_charset_id('zhs16gbk') from dual;


12.nls_charset_name(n1)---返回字符集id对应的名称
select nls_charset_name(852) from dual;


13.cast----是进行类型转换
select cast(a as int) from t1;
select cast(a as number(8,4)) from t1;






















阅读全文
0 0
原创粉丝点击