Oracle 数据不一致的日期格式 SQL

date format with inconsistant data Oracle SQL

我有一个输入日期的自由文本列。

有没有办法强制输出显示相同的内容?

例如有些人输入“2/12/15”,其他人输入“02/12/2015”

如何获取输出以获取日期并将其更改为一致的格式?

不知道从哪里开始。我试过 "To_char" 但它说 'invalid number'

其实我相信你想要to_date( ):

select to_date('2/12/15', 'mm/dd/rrrr') 
from dual;

年份的 'rrrr' 将正确设置年份格式。在此处查看日期格式:https://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm

您最好的方法可能是使用接受字符串的 PL/SQL 函数,然后使用不同的日期格式图片('DD/MM/YY'、'DD/MM/YYYY' 等),直到它找到一个不引发异常的。

如果有些人输入 DD/MM/YYYY 而其他人输入 MM/DD/YYYY,这将不起作用,但在某些情况下会出现。