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 に答える