我有一个 DB2 员工表,其中有一列名为“姓名”- varchar。它不是主键。 “空间”在这里也被认为是有效值。此列下的某些字段只有空格。
现在我需要一个查询,通过将“Space”替换为 NULL 或任何其他默认值(如“NoName”)来获取此员工表中的所有值。
我的一个想法是在 SELECT 中使用 LTRIM 函数截断值,这将导致“空字符串”,如果我能找到一些以“空字符串”作为输入返回 NULL 的字符串操作函数,我可以使用结果是 COALESCE 的 IFNULL 将 NULL 替换为“NoName”。
但我不记得有任何这样的功能。你能帮我吗? 或者还有其他方法可以实现吗?
最佳答案
你可以使用类似的东西:
Select case when <your column> = ' ' -- replace spaces
or <your column> is null -- replace nulls
or <your column> = '' -- replace empty strings
then 'no data' -- with string 'no data'
else <your column> -- if 'regular name' returns it
end as '<your column>' -- gives the column a meaningful title
from yourtable
当列在“空格”或 NULL 或空字符串中时,它返回字符串“无数据”,否则它返回实际值
关于sql - DB2 字段值替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322998/