1. 程式人生 > >oracle date 和 字串 相互轉換、字串:拼接、替換、擷取、查詢

oracle date 和 字串 相互轉換、字串:拼接、替換、擷取、查詢

表結構:

 插入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