+ -
当前位置:首页 → 问答吧 → 问个SQL 小白问题

问个SQL 小白问题

时间:2011-12-02

来源:互联网

其中查询语名为:select top 10 a.JAXCANCELDATE from PRODTABLE a where a.JAXCANCELDATE =''
但是查询结果为:JAXCANCELDATE
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000
  1900-01-01 00:00:00.000

为什么这一列的数据不是“”而是1900-01-01 00:00:00.000

表结构比较复杂就不列出来了,是不是可以设置当是''的时候就显示为1900-01-01 00:00:00.000?

作者: ss270991   发布时间: 2011-12-02

select top 10 a.JAXCANCELDATE from PRODTABLE a where a.JAXCANCELDATE is null

设置当为空值时显示某值
利用nvl()函数

作者: mizuho_2006   发布时间: 2011-12-02

你那列是日期列。

作者: AcHerat   发布时间: 2011-12-02

时间字段的默认值是 1900-01-01 00:00:00.000

作者: fredrickhu   发布时间: 2011-12-02

很可能再查询中隐式转换,把''转为了数据库默认最初时间1900-01-01 00:00:00.000了

作者: ssp2009   发布时间: 2011-12-02