日期格式的轉換
實際工作中可能遇到需要將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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SimpleDateFormat日期格式轉換的使用ORM
- JavaScript 時間日期格式轉換JavaScript
- SQL SERVER 日期格式化、日期和字串轉換SQLServer字串
- SpringMVC的引數繫結-日期格式轉換SpringMVC
- Oracle資料庫日期格式轉換操作Oracle資料庫
- js時間戳與日期格式的相互轉換JS時間戳
- EXCEL中日期格式轉換為文字格式-函式TEXTExcel函式
- sqlserver資料庫日期如何格式化-日期轉換字串SQLServer資料庫字串
- Python3時間戳轉換為指定格式的日期Python時間戳
- 一對一視訊原始碼,通過日期字串轉換日期型別格式原始碼字串型別
- Linq 日期轉換
- LocalDateTime日期轉換LDA
- 轉換日期(C)
- 用於日期轉換的訊息轉換器
- sql server日期格式 sqlserver的日期格式SQLServer
- [時間格式的轉換]
- 影像格式轉換
- csv格式怎麼轉換成excel?csv格式轉換成excel格式檔案的方法Excel
- 一招教你heic格式批量轉換png,必會的格式轉換!
- MySQL時間戳轉成日期格式MySql時間戳
- Python字典格式與JSON格式的相互轉換PythonJSON
- openssh key格式轉換
- 把時間戳轉為常用日期格式時間戳
- 全能的視訊格式轉換工具
- 好用的音訊格式轉換工具音訊
- 日期與字串的互相轉換SQL語句字串SQL
- Java SimpleDateFormat處理日期與字串的轉換JavaORM字串
- 圖片格式怎麼轉換,如何轉換jpg
- Python將xml格式轉換為json格式PythonXMLJSON
- heic格式轉換jpg工具——轉易俠heic轉換器
- Hive資料格式轉換Hive
- Poi 匯入格式轉換
- heic格式轉換軟體
- 轉換UTC時間格式
- JavaScript 時間日期轉換成中文JavaScript
- python字串轉換為日期時間Python字串
- 怎麼將bmp格式圖片轉換jpg格式的
- 圖片格式轉換器有什麼,怎麼無損轉換heic格式
- 怎麼將CAD轉換為JPG格式?CAD格式轉換輕鬆教你搞定!