MYSQL 语句有没有这种逻辑:默认取字段 a,当 a 为空时取字段 b

2014-11-20 16:55:02 +08:00
 heat
如果有的话,比a和b都取出来再做判断来说效率如何?
5519 次点击
所在节点    问与答
10 条回复
abelyao
2014-11-20 16:59:23 +08:00
不是应该用字段默认值吗
heat
2014-11-20 17:02:15 +08:00
@abelyao a和b都是不固定的,如何用字段默认值?
abelyao
2014-11-20 17:04:33 +08:00
@heat 囧,我又审题错了,看成了 “当字段 A 为空时取 B”,原来是要取 “字段 B”,好像可以用 IFNULL() 函数
abelyao
2014-11-20 17:05:21 +08:00
SELECT IFNULL(A, B) 试试看…
yanleijava
2014-11-20 17:09:32 +08:00
case when 啊
zts1993
2014-11-20 17:16:36 +08:00
case when 大法好
fengchang
2014-11-20 17:17:34 +08:00
case when a='' then b else a end
xudshen
2014-11-20 19:10:58 +08:00
hisway
2014-11-20 19:22:58 +08:00
COALESCE(A,B) 今天刚用到~
incompatible
2014-11-20 21:20:46 +08:00
case when写出来太冗长了
ifnull和coalesce就够用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/148050

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX