结果集中的日期字段+另一个字段

绿豆丫 2012-04-14 02:04:48


SELECT PID,CustID,ActionMan,Owner,ActionType,ActionDate,IsDelay,IsExec,DateAdd(day,IsDelay,ActionDate) AS NewCol FROM sTB WHERE ActionDate<'2012-4-17'


现在我想要用新的列 NewCol,当条件判断,这个日期是不是在范围内,却不行,提示列名无效。这个能用 SELECT 语句解决这个问题不?求高手指点。谢谢
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿豆丫 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

select ...
from ...
where dateadd(dd,20,ActionDate) = '2012-04-14'
[/Quote]

啊呀呀,我怎么就没有想到呢, 呵呵,谢谢问题解决。就是这么弄。
AcHerat 2012-04-14
  • 打赏
  • 举报
回复
select ...
from ...
where dateadd(dd,20,ActionDate) = '2012-04-14'
绿豆丫 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

‘在ActionDate字段的基础上加上 20 天’得到的只是新的字段值,或者说是结果集,对原来的表没有影响。

所以在后面把‘NesCol’当做字段来用,不行吧。
[/Quote]

是不行,查询后提示列不存在。
绿豆丫 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

select ...,dateadd(dd,20,ActionDate) NowCol
from ...
where ...
[/Quote]

嗯,我需要使用 NewCol 作为条件 比如 WHERE NewCol='2012-4-14'
zczhangchao2003 2012-04-14
  • 打赏
  • 举报
回复
‘在ActionDate字段的基础上加上 20 天’得到的只是新的字段值,或者说是结果集,对原来的表没有影响。

所以在后面把‘NesCol’当做字段来用,不行吧。
AcHerat 2012-04-14
  • 打赏
  • 举报
回复
select ...,dateadd(dd,20,ActionDate) NowCol
from ...
where ...
绿豆丫 2012-04-14
  • 打赏
  • 举报
回复


上面这个查询得到的这个结果,是在ActionDate字段的基础上加上 20 天,得到新的 NewCol字段

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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