在Oracle中将字符串解析为没有斜杠的日期

时间:2018-12-05 05:10:41

标签: sql oracle datetime

在Oracle中,如果用户输入dd / mm / yyyy,我就可以将字符串解析为日期类型。 我希望能够不使用斜线进行解析: 01022012应该解析为01/02/2012

一种方式是文本处理,并插入斜杠,然后转换为日期类型。还有另一种简单的方法吗? TNX

2 个答案:

答案 0 :(得分:2)

select to_date('01022012','DDMMYYYY') from dual
==>
TO_DATE('01022012','DDMMYYYY')       
------------------------------------ 
01-Feb-2012                          
-------- End of Data --------
1 row(s) fetched

答案 1 :(得分:0)

TO_DATE不需要在日期部分之间使用任何分隔字符。还可能需要注意一下,以备将来参考,如果用户输入包含oracle不关心的字符(它只关心dd,mm,yyyy等日期部分),那么它们可以是任何东西。所有这些都可以正常工作:

SELECT to_date('12/12/2012', 'dd/mm/yyyy') from dual
SELECT to_date('12-12-2012', 'dd/mm/yyyy') from dual
SELECT to_date('12@12;2012', 'dd#mm%yyyy') from dual

To_date不要求日期格式图片中的分隔符和其他忽略的文本应与输入中的忽略的文本匹配