工作中使用case用法小結

2022-02-16 02:01:57 字數 1507 閱讀 9269

五證合一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...