ato*_*mey 176 sql-server sql-server-2005 emptydatatext sqldatatypes notnull
我正在使用SQL Server 2005.我有一个带有文本列的表,我在表中有很多行,此列的值不为null,但它是空的.试图与''进行比较产生这种反应:
数据类型text和varchar在不等于运算符时不兼容.
是否有一个特殊函数来确定文本列的值是否为空但是为空?
Eri*_*ard 285
where datalength(mytextfield)=0
Run Code Online (Sandbox Code Playgroud)
小智 47
ISNULL(
case textcolum1
WHEN '' THEN NULL
ELSE textcolum1
END
,textcolum2) textcolum1
Run Code Online (Sandbox Code Playgroud)
Dan*_*ane 24
实际上,您只需使用LIKE运算符即可.
SELECT * FROM mytable WHERE mytextfield LIKE ''
Run Code Online (Sandbox Code Playgroud)
要仅获取空值(而不是空值):
SELECT * FROM myTable WHERE myColumn = ''
Run Code Online (Sandbox Code Playgroud)
要获取null和empty值:
SELECT * FROM myTable WHERE myColumn IS NULL OR myColumn = ''
Run Code Online (Sandbox Code Playgroud)
要仅获取空值:
SELECT * FROM myTable WHERE myColumn IS NULL
Run Code Online (Sandbox Code Playgroud)
要获取null和empty以外的值:
SELECT * FROM myTable WHERE myColumn <> ''
Run Code Online (Sandbox Code Playgroud)
并且请记住仅在必要时使用LIKE短语,因为与其他类型的搜索相比,它们会降低性能.
| 归档时间: |
|
| 查看次数: |
371353 次 |
| 最近记录: |