我如何屏蔽我不想要的时间

yjbgwxf123 2006-09-11 10:04:08
在SQL2000中SMALLDATETIME的数据在不输入资料的情况下会默认为1900-01-01
比如:表A
DATE1
1900-01-01
2006-02-01
2006-05-01
1900-01-01
在查询时我要把不是1900-01-01的正确显示出来。而是1900-01-01的以空格显示,因为这些数据是系统默认的,不正确的。
该怎么写呢?
我这样写过:
select date1=case date1 when '1900-01-01' then '' end from a
这样写的结果是凡是1900-01-01的日期都显示为空,但不是1900-01-01的都显示为NULL。
如果写成这样
select date1=case date1 when '1900-01-01' then '' esle date1 end from a
这时又屏蔽不掉1900-01-01的数据。
烦,望高手指点。
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjbgwxf123 2006-09-14
  • 打赏
  • 举报
回复
谢谢,知道问题的错误所在了。
chuifengde 2006-09-13
  • 打赏
  • 举报
回复
你的两条因为数据不统一,''是字符型,date1是日期型,怎么能混在一起呢?
yjbgwxf123 2006-09-13
  • 打赏
  • 举报
回复
有谁能告诉我,我写的那两条查询语句错在哪????????
yjbgwxf123 2006-09-13
  • 打赏
  • 举报
回复
我表中的数据是不断增加的。按楼上的,我是不是每增加一条数据,就得更改一次查询语句??????????
chuifengde 2006-09-11
  • 打赏
  • 举报
回复
declare @a table(DATE1 smalldatetime)
insert @a select
'1900-01-01'
union all select '2006-02-01'
union all select '2006-05-01'
union all select '1900-01-01'


select case date1 when '1900-01-01' then '' else convert(varchar(10),date1,120) end from @a

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧