zoukankan      html  css  js  c++  java
  • 用sql获得指定记录的空段数目和字段名称--实在想不通,这种场景应用在哪

    1)表结构如下

    现在查询第四条记录
    1)demo
     
    2)查询有几个为null或者‘’的字段,跟预期一样,两个1,说明两个字段为null或者‘’
    3)求和吧--得到为空的字段数目
    4)查出空字段,的字段名
    /*
    `IF`(expr1,expr2,expr3)三目运算符,参数1,为真,返回参数2,否则返回参数3
    在这里,参数1为null或者''为真, 我们让他返回1
    */
    select 
    sum(
        IF(ISNULL(name)||LENGTH(trim(name))<1,1,0) +
        IF(ISNULL(idCard)||LENGTH(trim(idCard))<1,1,0)+
        IF(ISNULL(tel)||LENGTH(trim(tel))<1,1,0) +
        IF(ISNULL(cardNum)||LENGTH(trim(cardNum))<1,1,0) +
        IF(ISNULL(bankName)||LENGTH(trim(bankName))<1,1,0) +
        IF(ISNULL(balance)||LENGTH(trim(balance))<1,1,0) 
    ) as '空字段数目',
    CONCAT(
    IF(ISNULL(name)||LENGTH(trim(name))<1,'name,','') ,
        IF(ISNULL(idCard)||LENGTH(trim(idCard))<1,'idCard,',''),
        IF(ISNULL(tel)||LENGTH(trim(tel))<1,'tel','') ,
        IF(ISNULL(cardNum)||LENGTH(trim(cardNum))<1,'cardNum,','') ,
        IF(ISNULL(bankName)||LENGTH(trim(bankName))<1,'bankName,','') ,
        IF(ISNULL(balance)||LENGTH(trim(balance))<1,'balance','') 
    ) as '空字段名'
    from      
        bankinfor 
    where id=4

    有没有更好的方法?
  • 相关阅读:
    Gatling的进阶二
    scala环境搭建
    web性能测试的新利器
    Jmeter+jenkins接口性能测试平台实践整理(二)
    Gatling的进阶一
    [经验总结]利用xlstproc处理XSLT的makefile
    VBA在WORD中给表格外的字体设置为标题
    VBA赋值给指定单元格
    将压缩包隐藏到图片中
    DB2删除重复数据
  • 原文地址:https://www.cnblogs.com/coisini/p/9800826.html
Copyright © 2011-2022 走看看