日期格式的轉換
實際工作中可能遇到需要將varchar型別的日期或者由其他形式給出的不同格式日期匯入資料庫的需求。
可以使用正規表示式得到結果。
比如:
可以使用正規表示式得到結果。
比如:
SQL> select
2 airline_code,eff_from
3 ,case
4 when regexp_like(eff_from,'^([0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$') then TO_DATE(EFF_FROM,'YYYY-MM-DD')
5 when regexp_like(eff_from,'^([0-9]{8})$') then TO_DATE(EFF_FROM,'YYYYMMDD')
6 when regexp_like(eff_from,'^([0-9]{1,2}/[0-9]{1,2}/[0-9]{2})$') and TO_DATE(EFF_FROM,'MM/DD/YY')>sysdate then add_months(TO_DATE(EFF_FROM,'MM/DD/YY'),-1200)
7 when regexp_like(eff_from,'^([0-9]{1,2}/[0-9]{1,2}/[0-9]{2})$') and TO_DATE(EFF_FROM,'MM/DD/YY') 8 when eff_from is null then to_date('20130101','yyyymmdd')
9 end as effective_from
10 from stage_airline;
2 airline_code,eff_from
3 ,case
4 when regexp_like(eff_from,'^([0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$') then TO_DATE(EFF_FROM,'YYYY-MM-DD')
5 when regexp_like(eff_from,'^([0-9]{8})$') then TO_DATE(EFF_FROM,'YYYYMMDD')
6 when regexp_like(eff_from,'^([0-9]{1,2}/[0-9]{1,2}/[0-9]{2})$') and TO_DATE(EFF_FROM,'MM/DD/YY')>sysdate then add_months(TO_DATE(EFF_FROM,'MM/DD/YY'),-1200)
7 when regexp_like(eff_from,'^([0-9]{1,2}/[0-9]{1,2}/[0-9]{2})$') and TO_DATE(EFF_FROM,'MM/DD/YY')
9 end as effective_from
10 from stage_airline;
AIRLINE_CODE EFF_FROM EFFECTIVE_FROM
------------ -------------------------------------------------------------------------------- --------------
695 1996-8-1
512 08/12/11 2011-8-12
512 1994-1-1 1994-1-1
695 08/23/93 1993-8-23
706 08/01/05 2005-8-1
706 20020101 2002-1-1
------------ -------------------------------------------------------------------------------- --------------
695 1996-8-1
512 08/12/11 2011-8-12
512 1994-1-1 1994-1-1
695 08/23/93 1993-8-23
706 08/01/05 2005-8-1
706 20020101 2002-1-1
6 rows selected
這是一個典型的日期轉化。由於MM/DD/YY預設是當前的世紀(21世紀,20XX年),以前的19XX年被認為是20XX年,整整差了100年,需要用條件判斷並修改過來。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-765790/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql 日期格式轉換SQL
- ABAP日期格式轉換
- SimpleDateFormat日期格式轉換的使用ORM
- C#日期格式轉換C#
- JavaScript 時間日期格式轉換JavaScript
- SQL SERVER 日期格式化、日期和字串轉換SQLServer字串
- JS日期格式化轉換方法JS
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- js日期格式簡單轉換程式碼JS
- Oracle資料庫日期格式轉換操作Oracle資料庫
- EXCEL中日期格式轉換為文字格式-函式TEXTExcel函式
- js時間戳與日期格式的相互轉換JS時間戳
- SpringMVC的引數繫結-日期格式轉換SpringMVC
- sqlserver資料庫日期如何格式化-日期轉換字串SQLServer資料庫字串
- WPS表格助你輕鬆轉換日期格式
- SQLserver中用convert函式轉換日期格式SQLServer函式
- js將日期格式的時候轉換成時間搓JS
- Json 的日期格式與.Net DateTime型別的轉換JSON型別
- 一對一視訊原始碼,通過日期字串轉換日期型別格式原始碼字串型別
- Python3時間戳轉換為指定格式的日期Python時間戳
- 轉換日期(C)
- [轉載]學習日期、日期格式、日期的解析和日期的計算[程式碼]
- 用於日期轉換的訊息轉換器
- 日期轉換函式的格式引數大小寫規則 (自yangtingkun)函式
- SQL Server中也用格式字串定製日期轉換為字串SQLServer字串
- smarty、smarty格式化、smarty整數、smarty float、smarty各種轉換方式、smarty日期轉換等等 (轉)...
- Linq 日期轉換
- Oracle 中文日期轉換Oracle
- mysql 日期轉換字串MySql字串
- PHP日期格式轉時間戳PHP時間戳
- YUV格式到RGB格式的轉換
- [時間格式的轉換]
- 影像格式轉換
- csv格式怎麼轉換成excel?csv格式轉換成excel格式檔案的方法Excel
- 一招教你heic格式批量轉換png,必會的格式轉換!
- PHP-日期時間的轉換PHP
- 日期轉換為raw的函式函式
- oracle日期轉換成星期Oracle