如何检查单元格的日期格式(oracle)

时间:2015-05-20 13:06:00

标签: sql oracle

请,帮助)

我需要验证是否使用正确的值填充了单元格。 我有几种类型的列具有一些有价值的格式,即' 2015-05-20Z'和' XXX/MOSCOW/XXXMSX/2015-05-20'。

我不知道如何检查日期,如果它只是值的一部分。 此查询工作:

case 
when A like 'XXX/MOSCOW/XXXMSX/%' 
then 'true' 
else 'false' 
end

但它还不够......

此查询无效:

case 
when A like 'XXX/MOSCOW/XXXMSX/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]' 
then 'true' 
else 'false' 
end

2 个答案:

答案 0 :(得分:1)

您似乎正在尝试使用like来匹配正则表达式。如果这是您的意图,请转而使用regexp_like

答案 1 :(得分:0)

使用它:

case 
    when regexp_like(A, 'XXX/MOSCOW/XXXMSX/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]')
    then 'true' 
    else 'false' 
end