请看问题补充的SQL code!当Months为NULL时,Months已经等于3了,为什么在DATEADD里计算的Months还是为NULL

[复制链接]
查看11 | 回复1 | 2011-3-2 13:42:27 | 显示全部楼层 |阅读模式
SELECT
DeptName, JoinDate,ProbationMonths, ISNULL(Months, 3) AS Months,DATEADD(month, Months, JoinDate) AS ProbationEndDate
FROM
Employee
如果我把AS Months 改为AS MM,然后DAREADD里的Months也改为MM,刚运行提示:列名‘MM‘无效。

回复

使用道具 举报

千问 | 2011-3-2 13:42:27 | 显示全部楼层
AS MM 后的MM 在 DATEADD函数里不不认的,解决方法有两个1。在DATEADD中继续使用你前面用的ISNULL函数,如下SELECT
DeptName, JoinDate,ProbationMonths, ISNULL(Months, 3) AS Months,DATEADD(month, ISNULL(Months, 3), JoinDate) AS ProbationEndDateFROM
Employee2。嵌套一层SELECT emp *,DATEADD(month, Months, JoinDate) AS ProbationEndDate FROM(SELECT
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行