1
我試圖獲取特定搜索的所有值,而不管字段大小寫。在我們的SQL Server數據庫區分大小寫的情況下,我不想在可能的情況下更改它。SQL在字段中搜索具有文本數據類型的字段,而不管字段的值是什麼
如果我這樣做,包括LOWER()函數如下SELECT語句
SELECT COUNT(blogpostId) as blogpostcount
FROM blogposts
WHERE stateId = '1'
AND blogId = '20'
AND LOWER(blogpostContent) LIKE '%test%'
它拋出來,說錯誤
參數的數據類型的文本是較低的函數的參數1無效。
blogpostContent
列的數據類型爲text
。如果我將其更改爲nvarchar
,則此功能有效,但nvarchar
只允許最多255個字符,因此我需要更多。
是否有無論如何檢查文本字段中的結果,而不考慮外殼?
在此先感謝
http://msdn.microsoft.com/en-us/library/ms143432.aspx說nvarchar的最大長度是2^31-1(幾乎每個DBMS變量可以有數千個字符長)。 – Viruzzo
'NVARCHAR(MAX)'允許**高達2 GB **的文本! (在SQL Server 2005和更新版本中可用)這就是Tolstoj的*戰爭與和平* - 幾次了!這還不夠嗎? 'TEXT'和'NTEXT'從SQL Server 2005開始被棄用,不應該使用 - 也因爲這個問題:它們不支持很多字符串函數... –
nvarchar應該允許4000個字符,而不是255.對於SQL Server 2005+,你可以使用nvarchar(max)。 –