一个简单的查询问题。

wzcaicai1 2008-03-18 11:27:51
查询 AAA里,非空非null,日期为2003-07-01之后的数据。(包括2003-07-01,2004-01-05也算)
字段里 可能有些为非标准的日期数据 如 2003-7-1

...全文
91 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingchenbbs 2008-03-19
  • 打赏
  • 举报
回复
星辰技术社区:www.netcsharp.cn,我们将帮您以最快的速度找到最佳的解决方案
howzanh 2008-03-18
  • 打赏
  • 举报
回复
SELECT *
FROM AAA
WHERE 字段名 is not null
and convert(varchar(10),日期,120) >='2003-07-01'
howzanh 2008-03-18
  • 打赏
  • 举报
回复
SELECT *
FROM AAA
WHERE 字段名 is not null
and convert(varchar(10),日期,120)
青锋-SS 2008-03-18
  • 打赏
  • 举报
回复
select *
from aaa
where datediff(d,col,getdate())>= 0 and isdate(col)=1
wzcaicai1 2008-03-18
  • 打赏
  • 举报
回复
服务器: 消息 241,级别 16,状态 1,行 1
从字符串转换为 datetime 时发生语法错误。

wzy_love_sly 2008-03-18
  • 打赏
  • 举报
回复
declare @tb table (dt datetime)
insert into @tb select null
insert into @tb select ''
insert into @tb select '2003-07-01'
insert into @tb select '2004-01-05'

select * from @tb
where dt>='2003-07-01'


2003-07-01 00:00:00.000
2004-01-05 00:00:00.000

直接写就行,上面以为小于了
lhsxsh 2008-03-18
  • 打赏
  • 举报
回复
select *
from aaa
where datediff(d,'2003-07-01',getdate())>= 0
lhsxsh 2008-03-18
  • 打赏
  • 举报
回复
ss
青锋-SS 2008-03-18
  • 打赏
  • 举报
回复
把'2003-07-01'替换成你实际的字段
青锋-SS 2008-03-18
  • 打赏
  • 举报
回复
select * 
from aaa
where datediff(d,'2003-07-01',getdate())>= 0
wzy_love_sly 2008-03-18
  • 打赏
  • 举报
回复
select * from tb 
where isnull(字段,'')<>'' and 字段<dateadd(dd,1,'2003-07-01')
青锋-SS 2008-03-18
  • 打赏
  • 举报
回复
select * from aaa where datediff(d,'2003-07-01',getdate())>0
wobencm 2008-03-18
  • 打赏
  • 举报
回复
不知这些可是楼主要的结果。
我的分析是不是楼主AAA字段里有些不是日期型的数据,想要把他转换为日期型?
如是这样可以用CAST(AAA AS DATETIME)转换.

34,590

社区成员

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

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