五證合一sql語法解決辦法
工作的時候,資料庫裡面儲存某張表裡面證件號碼儲存在不同的字段下面,然後前台需要寫乙個查詢語句,根據資料庫裡面儲存證件號碼查詢該條資料。
有些部門上傳資料,不是只固定填寫在某個字段,也會在別的字段裡面填寫證件號,
舉個例子:1統一社會信用**,2組織機構**,3工商登記碼,4稅務登記號,5居民身份證號
這5個證件號碼,如果只取其中乙個字段(比如統一社會信用**)進行查詢的話,會導致不在該字段填寫證件號碼的資料遺漏,就會造成資料查詢不完整。
這時候,只取乙個欄位是有問題,通俗的講:5個字段的證件號碼,當第乙個欄位為空的時候,就需要到第二個字段裡面取資料了,直到取到帶有證件號碼資料的字段,但是如果所有帶有證件的字段都沒有資料的話,這條資料就是無效資料,資料沒有辦法進行使用。
這個時候,用case語法可以解決。
案例:該錶的五證,只有前面字段兩個含有證件號碼,第乙個證件字段有些資料為空,但是第乙個欄位為空的資料在其餘的字段裡面含有證件號碼。
我寫的語句為:
select這個時候,查詢的資料則為case
when tyshxydm is
notnull
then
tyshxydm
when zzjgdm is
notnull
then
zzjgdm
when gsdjm is
notnull
then
gsdjm
when swdjh is
notnull
then
swdjh
when sfzh is
notnull
then
sfzh
else
'無效資料
'end
as uscc from tb_tjsyzsxqyhzb_xyzg t
通用版本為:
select這樣可以避免查詢資料只取乙個欄位的時候,查詢的資料會遺漏。case
when 統一社會信用** is
notnull
then
統一社會信用**
when 組織機構** is
notnull
then
組織機構**
when 工商登記碼 is
notnull
then
工商登記碼
when 稅務登記號 is
notnull
then
稅務登記號
when 居民身份證號 is
notnull
then
居民身份證號
else
'無效資料
'end
as uscc from 表名
django logger(工作中使用)
1 setting.py 注意 建立log資料夾 存放log的目錄 logging dir os.path.join base dir,log logging verbose standard handlers 用來定義具體處理日誌的方式,可以定義多種,default 就是預設方式,console ...
工作中使用docker筆記
docker compose.yml檔案配置 docker compose命令介紹 docker compose up 建立容器時報錯 docker compose up error encountered errors while bringing up the project.錯誤及解決方式在經...
工作中使用平台呼叫總結
1 託管 向非託管 傳遞字串 非託管api extern c declspec dllexport int cdeclwritedatatofcsfile char filepath 託管 dllimport business.dll,entrypoint writedatatofcsfile ca...