• 工作中使用case用法小结


    五证合一sql语法解决办法

    工作的时候,数据库里面存储某张表里面证件号码存储在不同的字段下面,然后前台需要写一个查询语句,根据数据库里面存储证件号码查询该条数据。

    实际情况如下

    有些部门上传数据,不是只固定填写在某个字段,也会在别的字段里面填写证件号,

    举个例子:1统一社会信用代码,2组织机构代码,3工商登记码,4税务登记号,5居民身份证号

    这5个证件号码,如果只取其中一个字段(比如统一社会信用代码)进行查询的话,会导致不在该字段填写证件号码的数据遗漏,就会造成数据查询不完整。

    这时候,只取一个字段是有问题,通俗的讲:5个字段的证件号码,当第一个字段为空的时候,就需要到第二个字段里面取数据了,直到取到带有证件号码数据的字段,但是如果所有带有证件的字段都没有数据的话,这条数据就是无效数据,数据没有办法进行使用。

     

    这个时候,用case语法可以解决。

    案例:该表的五证,只有前面字段两个含有证件号码,第一个证件字段有些数据为空,但是第一个字段为空的数据在其余的字段里面含有证件号码。

    我写的语句为:

    select   case
             when TYSHXYDM is not null then TYSHXYDM
             when ZZJGDM is not null then ZZJGDM
             when GSDJM is not null then GSDJM
             when SWDJH is not null then SWDJH
             when SFZH is not null then SFZH
             else
              '无效数据'
           end as USCC from TB_TJSYZSXQYHZB_XYZG t

    这个时候,查询的数据则为

    通用版本为:

    select   case
             when 统一社会信用代码 is not null then 统一社会信用代码
             when 组织机构代码 is not null then 组织机构代码
             when 工商登记码 is not null then 工商登记码
             when 税务登记号 is not null then 税务登记号
             when 居民身份证号 is not null then 居民身份证号
             else
              '无效数据'
           end as USCC from 表名 

    这样可以避免查询数据只取一个字段的时候,查询的数据会遗漏。

  • 相关阅读:
    学习完vue指令 做的一个学生信息录入系统
    vue常用指令总结
    vue介绍以及相关概念理解大全
    class类
    javascript闭包详解
    前端必看网站(一直更新中)
    微信小程序wx.getUserInfo获取用户信息
    微信小程序自定义组件注意事项
    微信小程序自定义选项卡
    uni-app开发注意事项及常用样式
  • 原文地址:https://www.cnblogs.com/jianshuai520/p/10126083.html
Copyright © 2020-2023  润新知