Oracle函数大全之转换函数

时间:2023-03-09 04:13:09
Oracle函数大全之转换函数

chartorowid(c1)

【功能】转换varchar2类型为rowid值

【参数】c1,字符串,长度为18的字符串,字符串必须符合rowid格式

【返回】返回rowid值

【示例】 SELECT chartorowid('AAAADeAABAAAAZSAAA') FROM DUAL; 【说明】 在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。 在重复的记录中,可能所有列的内容都相同,但rowid不会相同.

Oracle函数大全之转换函数

---------------------------------------------------------------------

ROWIDTOCHAR(rowid)

【功能】转换rowid值为varchar2类型

【参数】rowid,固定参数

【返回】返回长度为18的字符串

【示例】 SELECT ROWIDTOCHAR(rowid) FROM DUAL;

【说明】 在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。 在重复的记录中,可能所有列的内容都相同,但rowid不会相同.

Oracle函数大全之转换函数

---------------------------------------------------------------------

CONVERT(c1,set1,set2)

【功能】将源字符串c1 从一个语言字符集set2转换到另一个目的set1字符集

【参数】c1,字符串,set1,set2为字符型参数

【返回】字符串

【示例】 select convert('strutz','we8hp','f7dec') "conversion" from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

HEXTORAW(c1)

【功能】将一个十六进制构成的字符串转换为二进制

【参数】c1,十六进制的字符串

【返回】字符串

【示例】 select HEXTORAW('A123')  from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

RAWTOHEX(c1)

【功能】将一个二进制构成的字符串转换为十六进制

【参数】c1,二进制的字符串

【返回】字符串

【示例】 select RAWTOHEX('A123')  from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

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"

【返回】varchar2字符

【说明1】x为数据型时

【示例】to_char(1210.73, '9999.9') 返回 '1210.7' to_char(1210.73, '9,999.99') 返回 '1,210.73' to_char(1210.73, '$9,999.00') 返回 '$1,210.73' to_char(21, '000099') 返回 '000021' to_char(852,'xxxx') 返回' 354'

【说明2】x为日期型时

【示例】to_char(sysdate,'d') 每周第几天 to_char(sysdate,'dd') 每月第几天 to_char(sysdate,'ddd') 每年第几天 to_char(sysdate,'ww') 每年第几周 to_char(sysdate,'mm') 每年第几月 to_char(sysdate,'q') 每年第几季 to_char(sysdate,'yyyy') 年

【示例】带C3示例

select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;

返回:monday

Oracle函数大全之转换函数

---------------------------------------------------------------------

TO_DATE(X[,c2[,c3]])

【功能】将字符串X转化为日期型

【参数】c2,c3,字符型,参照to_char()

【返回】字符串 如果x格式为日期型(date)格式时,则相同表达:date x 如果x格式为日期时间型(timestamp)格式时,则相同表达:timestamp x

【相反】 to_char(date[,c2[,c3]])

【示例】 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;

Oracle函数大全之转换函数

---------------------------------------------------------------------

TO_NUMBER(X[[,c2],c3])

【功能】将字符串X转化为数字型

【参数】c2,c3,字符型,参照to_char()

【返回】数字串

【相反】 to_char(date[[,c2],c3])

【示例】 select TO_NUMBER('199912'),TO_NUMBER('450.05') from dual;

转换为16进制。 TO_CHAR(100,'XX')= 64

Oracle函数大全之转换函数

---------------------------------------------------------------------

TO_MULTI_BYTE(c1)

【功能】将字符串中的半角转化为全角

【参数】c1,字符型

【返回】字符串

【示例】 select to_multi_byte('高A') text from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

to_single_byte(c1)

【功能】将字符串中的全角转化为半角

【参数】c1,字符型

【返回】字符串

【示例】 select to_multi_byte('高A') text from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

nls_charset_id(c1)

【功能】返回字符集名称参应id值

【参数】c1,字符型

【返回】数值型

【示例】 select nls_charset_id('zhs16gbk') from dual;

Oracle函数大全之转换函数

---------------------------------------------------------------------

nls_charset_name(n1)

【功能】返回字符集名称参应id值

【参数】n1,数值型

【返回】字符型

【示例】 select nls_charset_name(852) from dual;

Oracle函数大全之转换函数