我有以下数据在我的表"设备"
affiliate_name affiliate_location model ip os_type os_version
cs1 inter Dell 10.125.103.25 Linux Fedora
cs2 inter Dell 10.125.103.26 Linux Fedora
cs3 inter Dell 10.125.103.27 NULL NULL
cs4 inter Dell 10.125.103.28 NULL NULL
我执行了下面的查询
SELECT CONCAT(`affiliate_name`,'-',`model`,'-',`ip`,'-',`os_type`,'-',`os_version`) AS device_name
FROM devices
它返回下面给出的结果
cs1-Dell-10.125.103.25-Linux-Fedora
cs2-Dell-10.125.103.26-Linux-Fedora
(NULL)
(NULL)
如何解决这个问题,让它忽略NULL,结果应该是
cs1-Dell-10.125.103.25-Linux-Fedora
cs2-Dell-10.125.103.26-Linux-Fedora
cs3-Dell-10.125.103.27-
cs4-Dell-10.125.103.28-
如果第一个字段为空,CONCAT_WS
仍然为我生成空。我通过在开头添加一个零长度字符串解决了这个问题,如
CONCAT_WS("",`affiliate_name`,'-',`model`,'-',`ip`,'-',`os_type`,'-',`os_version`)
然而
CONCAT("",`affiliate_name`,'-',`model`,'-',`ip`,'-',`os_type`,'-',`os_version`)
当第一个字段为Null时生成Null。
改用CONCAT_WS:
CONCAT_WS()不会跳过空字符串。但是,它会跳过分隔符参数之后的任何空值。
SELECT CONCAT_WS('-',`affiliate_name`,`model`,`ip`,`os_type`,`os_version`) AS device_name FROM devices
通过将空字符串包装在COALESCE中转换为NULL值。
SELECT CONCAT(COALESCE(`affiliate_name`,''),'-',COALESCE(`model`,''),'-',COALESCE(`ip`,''),'-',COALESCE(`os_type`,''),'-',COALESCE(`os_version`,'')) AS device_name
FROM devices
问题内容: 我的“设备”表中有以下数据 我执行以下查询 返回下面给出的结果 如何得出这一点,以便它应该忽略NULL并且结果应该是 问题答案: 通过将其包装在空字符串中来转换值
将从非null元素返回最小值。 我想编写一个查询,将NULL视为可能的最小值。 我见过使用特殊值的日期技巧,如下所示:https://stackoverflow.com/a/32240382/7810882 但是,如果列的类型是并且没有可以映射到的特殊值怎么办?
问题内容: 在MySQL中,是否可以将“总计”字段设置为零(如果它们为NULL)? 这是我所拥有的: 数据输出正常,但NULL字段应为。 如何在MySQL中为NULL返回0? 问题答案: 使用IFNULL: 从文档中: 如果expr1不为NULL,则IFNULL()返回expr1; 否则返回expr2。IFNULL()返回数字或字符串值,具体取决于使用它的上下文。
问题内容: 例如,需要使用 字符串找出只读取字符串中 数字 的方法, 即 我的尝试 问题答案: 试试这个: 由于返回的是文本数组,因此您应该通过来访问第一个元素。
问题内容: 我正在处理DomDocument,这基本上是SOAP Web服务的XML结果。给你一个主意,这就是它的样子 是的,ChildNode的值是一个已转义输出的字符串,并且是打包在此XML中的XML。我通常执行DomDocument处理,例如 在检查了上面的代码之后,您意识到即使节点为ParentNode和NodeName节点返回了正确的值,但在访问getNodeValue()时它仍返回了空
在XML文档中,例如: 如果任何元素包含'Text1'的内部文本,则返回Null集的单个XPath 1.0兼容、local-namespace()兼容的表达式是什么? 我尝试了许多不同的表达式,但无法获得返回空集的元素。 例如。 严格的要求是由于一个具体的实施。NET函数调用XmlNode.选择单节点方法(字符串) Dimitre提供的最终精确解