oracle date 和 字串 相互轉換、字串:拼接、替換、擷取、查詢
阿新 • • 發佈:2018-11-11
表結構:
插入date型別資料: 插入date資料方法是 to_date(字串,日期格式) ,sysdate 是當前系統時間,sysdate+1 表示在當前時間基礎上加1天
將字串型別 轉date 儲存到date型別中:
select * from TEST_DATE_STR_CONVERT t insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('1',to_date('2014-02-14','yyyy-mm-dd'),'2018/1/3 00:00:01') insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('2',sysdate,'2018/1/3 00:00:01') insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('3',sysdate+1,'2018/1/3 00:00:01') insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('4',to_date('2014-02-14 20:47:00','yyyy-mm-dd hh24:mi:ss'),'2018/1/3 00:00:01') insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('5',to_date('20140214204700','yyyymmddhh24miss'),'2018/1/3 00:00:01')
結果:
將date型別轉字串 存入字串: to_char(date型別,格式)
insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('5',sysdate,to_char(sysdate,'yyyy-MM-dd HH:mi:ss'))
insert into TEST_DATE_STR_CONVERT(id,DATES,STR) values('2',sysdate,sysdate)
結果:第6、7條
字串:拼接、替換、擷取、查詢
1、拼接字串
1)可以使用“||”來拼接字串
select '拼接'||'字串' as str from dual
2)通過concat()函式實現
select '拼接'||'字串' as str from dual
注:oracle的concat函式只支援兩個引數的方法,即只能拼接兩個引數,如要拼接多個引數則巢狀使用concat可實現,如:
select concat(concat('拼接', '多個'), '字串') from dual
2、擷取字串
SUBSTR(string,start_position,[length]) 求子字串,返回字串
解釋:string 源字串
start_position 開始位置(從0開始)
length 可選項,子字串的個數
select substr(to_char(sysdate, 'yyyy-mm-dd HH:mi:ss'), 12, 5) as time from dual
1.substr("ABCDEFG", 0); //返回:ABCDEFG,擷取所有字元
2.substr("ABCDEFG", 2); //返回:CDEFG,擷取從C開始之後所有字元
3.substr("ABCDEFG", 0, 3); //返回:ABC,擷取從A開始3個字元
4.substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字串最長度,但不會影響返回結果,系統按預處理字串最大數量返回。
5.substr("ABCDEFG", -3); //返回:EFG,注意引數-3,為負值時表示從尾部開始算起,字串排列位置不變。
3、查詢字串
INSTR(string,subString,position,ocurrence)查詢字串位置
解釋:string:源字串
subString:要查詢的子字串
position:查詢的開始位置
ocurrence:源字串中第幾次出現的子字串
select INSTR('CORPORATE FLOOR','OR', 3, 2) as loc from dual
4、替換字串
replace(strSource, str1, str2) 將strSource中的str1替換成str2
解析:strSource:源字串
str1: 要替換的字串
str2: 替換後的字串
select '替換字串' as oldStr, replace('替換字串', '替換', '修改') as newStr from dual