oracle将213变成123,oracle 转换函数
1、ASCIISTR(ch) 轉換ch為ASCII字符串
SELECTASCIISTR('AB?CDE張三') a1FROMDUAL;
2、BIN_TO_NUM(ch) ?轉換位向量為一個數字[ch為逗號隔開的0或1]
SELECTBIN_TO_NUM(1,0,0,0) a1FROMDUAL;--2的3次方[1000]
3、CAST(expr astype_name) 轉換expr為type_name類型[前提是能夠轉換才行]
SELECTCAST(to_date('2013-01-0101:01:01','YYYY-MM-DDHH24:MI:SS')AStimestampWITHLOCALTIMEZONE) a1FROMDUAL;
selectCAST('12435'asnumber) a2fromdual;
4、CHARTOROWID(ch) 將字符串轉換為ROWID類型
selectCHARTOROWID('AAAFd1AAFAAAABSAA/') a1fromdual;
5、COMPOSE(ch)
6、CONVERT(ch,dest_ch_set,source_char_set)轉換字符串為另一種字符串
SELECTCONVERT('? ¨o ¨a ? ? A B C DE ','US7ASCII','WE8ISO8859P1') a1FROMDUAL;
7、DECOMPOSE(ch)
8、HEXTORAW(ch) 轉換十六進制字符串為RAW類型
SELECTHEXTORAW('4041424344') a1FROMDUAL;
SELECTUTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('4041424344')) a1FROMDUAL;
9、NUMTODSINTERVAL(n,interval_unit) 將數字與單位轉換為內部時間格式, interval_unit格式有:DAY,HOUR,MINUTE,SECOND 【DS表示 DAY——>SECOND】
select sysdate+NUMTODSINTERVAL(10,'DAY')a1,sysdate+NUMTODSINTERVAL(10,'HOUR') a2,sysdate+NUMTODSINTERVAL(10,'MINUTE')a3,sysdate+NUMTODSINTERVAL(10,'SECOND') a4 from dual
10、NUMTOYMINTERVAL(n,interval_unit) 將數字與單位轉換為內部時間格式, interval_unit格式有:YEAR ,MONTH【YM表示 YEAR——>MONTH】
selectsysdate+NUMTOYMINTERVAL(10,'YEAR') a1,sysdate+NUMTOYMINTERVAL(10,'MONTH')a2fromdual
11、RAWTOHEX(raw) 轉換RAW為十六進制字符串
12、RAWTONHEX(raw)= TO_NCHAR(RAWTOHEX(raw))
13、ROWIDTOCHAR(rowid)?將ROWID轉換為字符串,長度18
selectrowid,ROWIDTOCHAR(rowid) a1fromscott.emp;
14、ROWIDTONCHAR(rowid)=TO_NCHAR(ROWIDTOCHAR(rowid))
15、SCN_TO_TIMESTAMP(scn)將SCN轉換為時間戳
SELECTSCN_TO_TIMESTAMP(ORA_ROWSCN)FROMtb_nameWHEREpk_ID=136512;
16、TIMESTAMP_TO_SCN(timestamp)將時間戳轉換為SCN
selectTIMESTAMP_TO_SCN(systimestamp) a1fromdual
17、TO_BINARY_DOUBLE(expr,fmt,nlspara)返回雙精度類型數據
selectTO_BINARY_DOUBLE(12) a1fromdual;
18、TO_BINARY_FLOAT(expr,fmt,nlspara)返回單精度類型數據
selectTO_BINARY_FLOAT(12) a1fromdual;
19、TO_BLOB(raw_val) 轉換LONG RAW和RAW數據為BLOB類型
SELECTTO_BLOB(raw_col)blobFROMtb_name;
20、TO_CHAR (character)?轉換NCHAR,NVARCHAR2,CLOB,NCLOB為VARCHAR2類型
selectto_char('Hello張三') a1fromdual;
21、TO_CHAR (datetime,fmt,nlspara)將時間相關;誒行轉換為VARCHAR2類型
selectTO_CHAR(systimestamp,'YYYY-MM-DDHH24:MI:SSxFF') a1FROMdual;
SELECTTO_CHAR(INTERVAL'123-2'YEAR(3)TOMONTH) a1FROMDUAL;
22、TO_CHAR(number,fmt,nlspara) 將數字相關類型NUMBER, BINARY_FLOAT, or BINARY_
DOUBLE轉換為VARCHAR2類型
SELECTTO_CHAR(-10000,'L99G999D99MI') a1FROMDUAL;
SELECTTO_CHAR(-10000,'L99G999D99MI','NLS_NUMERIC_CHARACTERS= '',.''NLS_CURRENCY = ''AusDollars'' ') a1FROMDUAL;
23、TO_CLOB(ch)將字符串轉換為CLOB類型
UPDATEtb_nameSETclob_col = TO_CLOB(data);
24、TO_DATE(ch,fmt,nlspara)將字符串轉換為Date類型
SELECTTO_DATE('January 15, 1989,11:00 A.M.','Month dd, YYYY,HH:MI A.M.','NLS_DATE_LANGUAGE =American') a1FROMDUAL;
SELECTTO_DATE('2012-12-0110:01:02','YYYY-MM-DDHH24:MI:SS') a1FROMDUAL;
25、TO_DSINTERVAL(fmt) 轉換一個格式字符串為一個內部的 DAY——>SECOND
selectsysdate+TO_DSINTERVAL('10 00:00:00') a1fromdual;--加10天
selectsysdate+TO_DSINTERVAL(to_char(sysdate,'DD hh24:mi:ss')) a1fromdual;--加上當前時間的時分秒
26、TO_YMINTERVAL(fmt) 轉換一個格式字符串為一個內部的 YEAR——>MONTH
selectsysdate+TO_YMINTERVAL('01-03') a1fromdual;--加15個月
selectsysdate+TO_YMINTERVAL(to_char(sysdate,'yyyy-MM')) a1fromdual;
27、TO_LOB(long) 轉換long和long raw類型為LOB類型
SELECTTO_LOB(long_col)lobFROMtb_name;
28、TO_MULTI_BYTE(ch)將字符串轉換為雙字節表示
selectTO_MULTI_BYTE('Hello張三') a1fromdual;
29、TO_NCHAR (character)轉換NCHAR,NVARCHAR2,CLOB,NCLOB為NVARCHAR2類型
selectto_nchar('Hello張三') a1fromdual;
30、TO_NCHAR (datetime,fmt,nlspara)將時間相關;誒行轉換為NVARCHAR2類型
selectTO_NCHAR(systimestamp,'YYYY-MM-DDHH24:MI:SSxFF') a1FROMdual;
SELECTTO_NCHAR(INTERVAL'123-2'YEAR(3)TOMONTH) a1FROMDUAL;
31、TO_NCHAR (number,fmt,nlspara)將數字相關類型NUMBER, BINARY_FLOAT, or BINARY_
DOUBLE轉換為NVARCHAR2類型
SELECTTO_NCHAR(-10000,'L99G999D99MI') a1FROMDUAL;
SELECTTO_NCHAR(-10000,'L99G999D99MI','NLS_NUMERIC_CHARACTERS= '',.''NLS_CURRENCY = ''AusDollars'' ') a1FROMDUAL;
32、TO_NCLOB(ch) 將字符串轉換為NCLOB類型
UPDATEtb_nameSETnclob_col = TO_NCLOB(data);
33、TO_NUMBER(expr,fmt,nlspara)格式化數字輸出
SELECTTO_NUMBER('-AusDollars100','L9G999D99','NLS_NUMERIC_CHARACTERS = '',.''NLS_CURRENCY = ''AusDollars''') a1FROMDUAL;
34、TO_SINGLE_BYTE(ch) 轉換為單字節字符 ch類型可以是 CHAR,VARCHAR2, NCHAR, or NVARCHAR2,不能是CLOB
selectTO_SINGLE_BYTE('Hello張三') a1 from dual;
35、TO_TIMESTAMP(ch,fmt,nlspara)轉換為時間戳
SELECT ?TO_TIMESTAMP('2013-09-3014:10:10.12320', 'YYYY-MM-ddHH24:MI:SS.FF') a1FROM DUAL;
36、TO_TIMESTAMP_TZ(ch,fmt,nlspara)轉換為帶時區的時間戳
SELECT ?TO_TIMESTAMP_TZ('2013-09-3014:10:10.12320', 'YYYY-MM-dd HH24:MI:SS.FF') a1 FROM DUAL;
37、TRANSLATE (ch USINGCHAR_CS|NCHAR_CS) 將字符串轉換為規定的字符集
select ?TRANSLATE('Hello張三' USING CHAR_CS) a1,TRANSLATE('Hello張三' USING NCHAR_CS) a2 from dual
38、UNISTR(string) 將字符串轉換為AL16UTF16或 UTF8字符
select ?UNISTR('Hello張三') a1 from dual;
總結
以上是生活随笔為你收集整理的oracle将213变成123,oracle 转换函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php控件不显示,解决控件遮挡问题:关于
- 下一篇: oracle apex接口文件,Orac