数据库基本函数——转换函数(Oracle)
一、转换函数用户操作多数据类型,在数据类型之间进行转换。
?
??? 1、CHARTORWID(c)
??????? c是一个字符串,函数将c转换为RWID数据类型。
?
??? 2、CONVERT(c, dset, sset)
??????? c为字符串,dset、sset是两个字符集,函数将字符串c由sset字符集转换为dset字符集,sset的默认设置为数据库的字符集。
?
??? 3、HEXTORAW(x)
??????? x为十六进制的字符串,函数将十六进制的x转换为RAW数据类型。
?
??? 4、RAWTOHEX(x)
??????? x是RAW数据类型字符串,函数将RAW数据类型转换为十六进制的数据类型。
?
??? 5、ROWIDTOCHAR()
??????? 函数将ROWID数据类型转换为CHAR数据类型。
?
??? 6、TO_CHAR(x, fmt)
??????? x是一个date或number数据类型,函数将x转换成fmt指定格式的CHAR数据类型,如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日期所使用的语言。如果x为数字nlsparm=NLS_NUMBERIC_CHARACTERS 用类指定小数位和千分位的分隔符,以及货币符,参考详见。
?
??? 7、TO_DATE(c, fmt)
??????? c是字符串,fmt表示一个特殊格式的字符串,返回按照fmt指定的格式的c,参考详见。
?
??? 8、TO_MULTI_BYTE(c)
??????? c表示字符串,函数将c的单字节字符转换成多字节字符。
?
??? 9、TO_NUMBER(c, fmt)
??????? c表示字符串,fmt表示一个特殊格式的字符串,函数返回值按照fmt指定的格式显示。
?
??? 10、TO_SINGLE_BYTE()
??????? 将字符串c的多字节转换成等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节时才使用。
?
??? 11. UTL_RAW.CAST_TO_RAW
????????该函数按照缺省字符集(一般为GB2312),将VARCHAR2字符串转换为RAW。
???12. UTL_RAW.CAST_TO_VARCHAR2
????????该函数按照缺省字符集合(一般为GB2312),将RAW转换为VARCHAR2。
?
常用之日期格式?12?13日期格式?????????????????說明?14------------------------------------?15YYYY/MM/DD??????? --?年/月/日??16YYYY????????????????????? --?年(4位)?17YYY??????????????????????? --?年(3位)?18YY????????????????????????? --?年(2位)?19MM???????????????????????? --?月份?20DD???????????????????????? --?日期?21D??????????????????????????? --?星期?22?????????????????????????????? --?星期日?=?1??星期一?=?2?星期二?=?3?23?????????????????????????????? --?星期三?=?4??星期四?=?5?星期五?=?6?星期六?=?7?24?????????????????????????????25DDD?????????????????? --?一年之第幾天?26WW??????????????????? --?一年之第幾週?27W??????????????????????? --?一月之第幾週?28YYYY/MM/DD?HH24:MI:SS???--?年/月/日?時(24小時制):分:秒?29YYYY/MM/DD?HH:MI:SS?????? --?年/月/日?時(非24小時制):分:秒?30J?????????????????????????????????????????????? --?Julian?day,Bc?4712/01/01?為1?31RR/MM/DD???????????????????????????? --?公元2000問題??32??? ????? --?00-49?=?下世紀;50-99?=?本世紀?33ex.?34select?to_char(sysdate,'YYYY/MM/DD')?FROM?DUAL;?????????? --?2007/09/20?35select?to_char(sysdate,'YYYY')?FROM?DUAL;????????????????? ? ? ?? --?2007?36select?to_char(sysdate,'YYY')?FROM?DUAL;?????????????????????????? --?007?37select?to_char(sysdate,'YY')?FROM?DUAL;???????????????????????????? --?07?38select?to_char(sysdate,'MM')?FROM?DUAL;?????????????????????????? --?09?39select?to_char(sysdate,'DD')?FROM?DUAL;??????????????????????????? --?20?40select?to_char(sysdate,'D')?FROM?DUAL;????????????????????????????? --?5?41select?to_char(sysdate,'DDD')?FROM?DUAL;??????????????????????? --?263?42select?to_char(sysdate,'WW')?FROM?DUAL;???????????????????????? --?38?43select?to_char(sysdate,'W')?FROM?DUAL;??????????????????????????? --?3?44select?to_char(sysdate,'YYYY/MM/DD?HH24:MI:SS')?FROM?DUAL;??--?2007/09/20?15:24:13?45select?to_char(sysdate,'YYYY/MM/DD?HH:MI:SS')?FROM?DUAL;????--?2007/09/20?03:25:23?46select?to_char(sysdate,'J')?FROM?DUAL;????????????????????????????????? --?2454364?47select?to_char(sysdate,'RR/MM/DD')?FROM?DUAL;???????????????--?07/09/20? 1 楼 sgq0085 2011-11-21 现在用的最多的函数是decode,case when 2 楼 liuzhenye 2011-11-22 sgq0085 写道现在用的最多的函数是decode,case when