dub*_*ech 4 sql-server-2008 sql-server
我有一个从列中解析字符串值的查询:
SELECT left(DateTimeSent, 17) AS timesent FROM allog_07_11_e query1
Run Code Online (Sandbox Code Playgroud)
当我做:
SELECT left(DateTimeSent, 17) AS timesent FROM allog_07_11_e query1.timesent != '0'
Run Code Online (Sandbox Code Playgroud)
我得到:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'timesent'.
Run Code Online (Sandbox Code Playgroud)
任何想法为什么?
您不能在WHERE子句中引用别名。你必须做这样的事情:
select left(DateTimeSent, 17) as timesent
from allog_07_11_e
where left(DateTimeSent, 17) <> '0'
Run Code Online (Sandbox Code Playgroud)
同样,您也可以使用子查询:
select *
from
(
select left(DateTimeSent, 17) as timesent
from allog_07_11_e
) a
where timesent <> '0'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2280 次 |
| 最近记录: |