【发布时间】:2012-09-24 20:48:57
【问题描述】:
我的查询
SELECT order_id, order_item_id, product_id, date_due, ship_via
FROM order_shipment
WHERE (product_id LIKE 'PP80403396-502%%' AND ship_via != '');
或
SELECT order_id, order_item_id, product_id, date_due, ship_via
FROM order_shipment
WHERE (product_id LIKE 'PP80403396-502%%' AND trim(ship_via) != '');
没有给我任何结果。
我的期望是显示 ship_via 字段为 NULL 或不为空的结果。
【问题讨论】:
-
Null 和空字符串不是一回事。也添加对 null 的检查(或使用
coalesce/isnull同时检查两者)。 -
您是否收到任何错误消息?
-
mysql中有coalesce吗? -
@MichaelKrelin-hacker dev.mysql.com/doc/refman/5.0/en/…
-
你的 where 子句应该是
WHERE (product_id LIKE 'PP80403396-502%%' AND (trim(ship_via) != '' or ship_via is null));