文字与01861不匹配

时间:2016-07-28 20:42:42

标签: sql oracle types

select case 
         when sale not in  TO_date(sale,'MMYY') then  'N' 
         else sale 
       end  test
  from daily sales

我想看看使用上面的选择列中的数据是否符合以下条件。我收到以下错误:

  

LITERAL不匹配格式字符串

小数据集

0109
0106
0409

列是varchar

1 个答案:

答案 0 :(得分:0)

to_date('0109', 'mmyy')是正确的,它将返回01-01-2009 00:00:00 AM(以一种可能的格式)。所以问题很可能在列中 - 您可能有一个或多个值实际上不是四位数。您需要进行一些故障排除。

我会尝试的东西:

select max(length(sale)) as max_len, min(length(sale)) as min_len from table_name

daily sales不能是表名 - 表名中没有空格)