sql - DB2 字段值替换

标签 sql database string db2

我有一个 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/

相关文章:

php - SQL触发器和技术债务

c++ - AntiViruses 的字符串/签名比较

c++ - 为什么我不能在 C++ 中初始化一个将自身合并到其初始值中的对象?

javascript - 没有 JShint 警告的多行 JSON 字符串

当使用窗口函数并且谓词包含变量时,SQL Server 使用扫描而不是搜索

MySQL 查询卡住

mysql - 我的 sql 语法无法在存储过程中比较本地变量

sql-server - 数据库设计 : one large table versus several smaller tables

javascript - Oracle 删除语句在 JS 中不起作用

c - 需要帮助 : Unable to delete string from doubly linked list: C