我有一個包含候選人詳細資訊的表格,其中插入了base64圖片作為個人資料圖片。當我從表中得到大量的候選人名單時,個人資料圖片占用了太多的空間。我有一個默認的base64圖片作為資料圖片,供那些沒有上傳資料圖片的人使用。我想要的是,如果候選人的個人照片是默認的,就取空。 我的查詢是這樣的,
我的查詢是這樣的,很簡單。
select
姓名。
出生日期。
case when profilepic is default then NULL else profile pic
from 候選人
代碼顯示使用default時出錯,但當我用null代替DEFAULT時作業正常。 null來代替DEFAULT時,就能正常作業
。uj5u.com熱心網友回復:
類似于這樣的內容:
select
姓名(Name)
,DOB
,case when profilepic = (SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA. COLUMNS WHERE COLUMN_NAME='profilepic' and TABLE_NAME='cates') then NULL else profilepic END
from candidates
你可能需要對Suqbuery進行一些決議。
uj5u.com熱心網友回復:
應該像這樣更有效率 :
SELECT Name, DOB,
CASE WHEN profilepic = T.COLUMN_DEFAULT
THEN NULL
ELSE profilepic
END END
FROM 候選人
CROSS APPLY(SELECT COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'filepic' and
TABLE_NAME = 'candors' and
TABLE_SCHEMA = 'dbo' ) AS T
假設你的表是在SQL Server資料庫默認模式(dbo)中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314795.html
標籤:
