我可以對計算日期字段執行WHERE操作嗎?計算日期字段上的操作
我有一個查詢字段,它在SQL中寫得很糟,很不幸我無法更改它。但基本上它將日期存儲爲諸如「2010年7月」或「2009年6月」(以及其他非日期數據)等字符。我想首先提取日期(我使用LIKE opertor),然後根據日期範圍提取數據。
SELECT
BusinessUnit,
Lookup,
ReleaseDate
FROM
(
SELECT TOP 10
LookupColumn As Lookup,
BU as BusinessUnit,
CONVERT(DATETIME, REPLACE(LookupColumn,'-',' ')) as ReleaseDate
FROM
[dbo].[LookupTable]
WHERE
LookupColumn LIKE N'%-2010'
) MyTable
ORDER BY ReleaseDate
WHERE ReleaseDate = '2010-02-01'
我遇到WHERE運算符問題。我會假設創建一個子查詢來封裝計算字段將允許我對它進行操作,比如WHERE,但也許我錯了。底線是否可以對計算字段進行操作?
更新:的確,我的訂單混淆了,而且LIKE操作符還返回了非日期值,例如TBD-2010,這些值讓我感到困惑。
你有什麼「問題」? – 2010-06-08 13:12:48