heat
V2EX  ›  问与答

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

  •  
  •   heat · Nov 20, 2014 · 6131 views
    This topic created in 4367 days ago, the information mentioned may be changed or developed.
    如果有的话,比a和b都取出来再做判断来说效率如何?
    10 replies  •  2014-11-20 21:20:46 +08:00
    abelyao
    abelyao
    Nov 20, 2014
    1
    不是应该用字段默认值吗
    heat
    heat
    OP
    Nov 20, 2014
    2
    @abelyao a和b都是不固定的,如何用字段默认值?
    abelyao
    abelyao
    Nov 20, 2014
    3
    @heat 囧,我又审题错了,看成了 “当字段 A 为空时取 B”,原来是要取 “字段 B”,好像可以用 IFNULL() 函数
    abelyao
    abelyao
    Nov 20, 2014
    4
    SELECT IFNULL(A, B) 试试看…
    yanleijava
    yanleijava
    Nov 20, 2014
    5
    case when 啊
    zts1993
    zts1993
    Nov 20, 2014
    6
    case when 大法好
    fengchang
    fengchang
    Nov 20, 2014
    7
    case when a='' then b else a end
    ozking
    ozking
    Nov 20, 2014
    8
    hisway
    hisway
    Nov 20, 2014
    9
    COALESCE(A,B) 今天刚用到~
    incompatible
    incompatible
    Nov 20, 2014
    10
    case when写出来太冗长了
    ifnull和coalesce就够用了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4895 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 08:33 · PVG 16:33 · LAX 00:33 · JFK 03:33
    ♥ Do have faith in what you're doing.