2015-05-19 93 views
0

我有一个包含日期(mo/dd/yr)或问号(?)的列(dt)。在我接近的地方,我试图只选择列中有问号的行。我尝试了下面的内容,并且出现错误。SQL teradata试图获取列中有问号的所有行

where c.dt = '?' 

我得到的错误是:SELECT Failed. 3535: A character string failed conversion to a numeric value.

+0

dt列的实际数据类型是什么? –

回答

1

问号是一个NULL ;-)

例如显示的字符串这是SQL Assistant和BTEQ中的默认值。

所以dt实际上是一个DATE列,您需要使用:

where c.dt IS NULL 

顺便说一句,你可以很容易地更改默认:

  • BTEQ:.SET NULL 'whatever';
  • SQLA:Tools -> Options -> Data Format -> Display this string for NULL data values

I usu同盟使用<NULL> :)

+0

傻傻的我 - 我是一个新手。非常感谢 :) –