首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果MySQL中返回的结果为空,请选择默认值

如果MySQL中返回的结果为空,请选择默认值
EN

Stack Overflow用户
提问于 2013-11-07 23:08:59
回答 3查看 27.2K关注 0票数 12

下面的查询运行良好,但我想输入一个选项,即如果返回的电子邮件为NULL,则输入"example@google.com“或类似的内容。我已经阅读了一些函数来做到这一点,比如COALESCE(EMAIL,"example@google.com"),但我不确定该函数在脚本中的位置。您能告诉我应该在哪里注入这个函数吗?如果我的方向正确的话,请告诉我。谢谢你。

代码语言:javascript
复制
SELECT LCASE(LOGIN_NAME) as uniqueid, CONCAT('sha-512:', PASSWD) as password, REPLACE(CONTACT_NAME, '"', '') as name, \
     CONCAT('unit,', \
       MAX(CASE WHEN USER_TYPE = 'custom' THEN  \
          'location_employee'  \
        WHEN (LOGIN_NAME != 'link' AND USER_TYPE = 'owner' AND (UA.PARTY_SITE_ID IS NULL OR NOT EXISTS (SELECT U2.ID FROM CUSTOMER_DATA.USER_ACCESS U2 WHERE U2.USER_ID=U.ID AND (U2.PARTY_SITE_ID IS NULL OR U2.PARTY_SITE_ID = '')) ) )THEN  \
          'master'  \
        ELSE  \
          'location'  \
        END)) AS role, \
     MAX(EMAIL) as email, \
     MAX(PHONE) as phone, \
     MAX(FAX) as fax \
     FROM ORACLE_EXPORTS.SHIP_TO ST, \
     CUSTOMER_DATA.USER U \
     JOIN CUSTOMER_DATA.USER_ACCESS UA ON U.ID = UA.USER_ID \
     WHERE ( \
     (UA.PARTY_SITE_ID IS NULL AND ST.CUSTOMER_ID = UA.CUSTOMER_ID ) \
     OR \
     (ST.PARTY_SITE_ID IS NOT NULL AND ST.PARTY_SITE_ID = UA.PARTY_SITE_ID ) \
     ) \
     AND U.LOGIN_NAME IN ( ? ) \
     GROUP BY LOGIN_NAME
EN

回答 3

Stack Overflow用户

发布于 2015-05-02 02:02:00

使用MySQL的IFNULL函数,

代码语言:javascript
复制
IFNULL(MAX(EMAIL), "example@google.com") as email
票数 32
EN

Stack Overflow用户

发布于 2013-11-07 23:11:12

那么,你在哪里可以收到电子邮件呢?

代码语言:javascript
复制
COALESCE(MAX(EMAIL), 'example@google.com') as email
票数 14
EN

Stack Overflow用户

发布于 2013-11-07 23:11:02

代码语言:javascript
复制
SELECT coalesce(field_or_derived_value_that_could_be_null, "new value here"), ...
FROM ...
WHERE ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19839398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档