1

因此,我通过转换表的 start_time 来定义一个新列,并希望针对此更改进行过滤。

select job_name, convert(varchar(10), start_time, 101) as startdate , other_stuff
from table where startdate = '2013-05-08' order by start_time asc 

但我收到一条错误消息,提示 startdate 不是有效列。我怎样才能像这样过滤?非常感谢任何人的帮助。

4

1 回答 1

2

您不能在 where 子句中使用别名列...

该问题的解决方法是使用具有您的选择语句行的派生表....

SELECT * FROM (
SELECT job_name, convert(varchar(10), start_time, 101) as startdate , other_stuff
FROM table
) new_table
WHERE startdate = '2013-05-08' ORDER BY start_time ASC 
于 2013-05-10T11:44:20.227 回答