爲什麼這些查詢返回不同的值?第一個按預期返回結果集,但第二個(就我所知,完全相同)不是。有什麼想法嗎?SQL Server變量
1:
declare @c varchar(200)
set @c = 'columnName'
select top 1 *
from myTable
where @c is not null
and len(convert(varchar, @c)) > 0
2:
SELECT top 1 *
FROM myTable
WHERE columnName IS NOT NULL
and len(convert(varchar,columnName)) > 0
謝謝大家,我看到發生了什麼事。現在是後續行爲:第一個查詢返回最上一行,其中columnName的值爲8.第二個查詢不返回任何內容。 ColName = 8的第一行不應該滿足既不爲空也不滿足len> 0並且被查詢返回? – Colin 2010-02-25 20:36:24
'columnName'的實際數據類型是什麼? – 2010-02-25 20:43:54
這是一個nvarchar的長度爲50的 – Colin 2010-02-25 20:57:39