我有一个表格目的地,其列是id,name,region,pic。我有一些行,其中pic列没有值,但它没有显示为空,我的意思是当我应用查询时:
select * from destination where pic= ''
或
select * from destination where pic is null
没有任何结果。问题是什么,任何人都有一些想法???
答案 0 :(得分:0)
很可能是白色字符。使用hex(pic)
验证
答案 1 :(得分:0)
如果是白色字符,你可以试试这个:
select *
from destination
where ltrim(rtrim(pic)) = ''
答案 2 :(得分:0)
select * from destination where pic like ' '
OR
select * from destination where pic=char(32)
答案 3 :(得分:0)
没有任何价值观,你的意思是你什么都看不到,但如果它们不是空的,而不是''然后他们必须有一些价值观,最有可能是白色空间。
假设该字段是文本字段,您可以:
SELECT LENGTH(fieldName) FROM tableName ORDER BY LENGTH(fieldName)
这将显示一个1列的表,指示fieldName中字符串的长度。它还根据此长度对结果进行排序,因此如果有任何记录带有空字符串,则表示为0.如果没有显示0值的结果,则它们必须具有空格。
在这种情况下,您可以比较这样的值。
SELECT * FROm tableName WHERE TRIM(fieldName) = '' OR fieldName Is NULL