我有一張包含候選人詳細資訊的表格,其中插入 base64 影像作為個人資料圖片。當我從表中獲得大量候選人串列時,個人資料圖片占用了太多空間。對于那些不上傳個人資料圖片的人,我有一個默認的 base64 影像作為個人資料圖片。如果候選人的個人資料圖片是默認的,我想要的是 null。我的查詢是這樣簡單的,
select
Name,
DOB,
case when profilepic is default then NULL else profile pic
from candidates
代碼顯示使用默認錯誤,但當我使用 null 代替 DEFAULT 時作業正常
uj5u.com熱心網友回復:
類似于以下內容:
select
Name
,DOB
,case when profilepic = (SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME='profilepic' and TABLE_NAME='candidates') then NULL else profilepic END
from candidates
您可能需要稍微決議 suqbuery。
uj5u.com熱心網友回復:
應該像這樣更有效率:
SELECT Name, DOB,
CASE WHEN profilepic = T.COLUMN_DEFAULT
THEN NULL
ELSE profilepic
END
FROM candidates
CROSS APPLY (SELECT COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'profilepic' and
TABLE_NAME = 'candidates' and
TABLE_SCHEMA = 'dbo' ) AS T
假設您的表位于 SQL Server 資料庫默認架構 (dbo) 中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/419944.html
標籤:
