所以我有一個 SSIS 包,它使用運算式將一些文本替換為 '',然后將其加載到資料庫中。
如果我在 SSMS 的表中進行選擇查詢,例如;
SELECT * FROM xxx
WHERE Email IS NULL OR Email = ''
盡管我可以直觀地看到有空白電子郵件欄位的記錄,但它沒有回傳任何結果。
我也試過;
SELECT * FROM xxx
WHERE (LEN(ISNULL(Email,'')) = 0);
我的 SSIS 表達;
LOWER(REPLACE([Email],"?",""))
有什么解決辦法嗎?
編輯 - 如下所述,我將該欄位轉換為 varbinary,它們的值為 0xA0。
編輯 2 - 對我有用的答案是 WHERE EMAIL LIKE '%' CHAR(160) '%'
uj5u.com熱心網友回復:
你可以嘗試使用
WHERE EMail LIKE '%' CHAR(160) '%'
160 是“不間斷空間”的ASCII碼。
uj5u.com熱心網友回復:
嘗試 :
SELECT * FROM xxx
WHERE Email IS NULL OR Email NOT LIKE REPLICATE('[[email protected]_]', LEN(Email))
uj5u.com熱心網友回復:
您可以使用該len函式,如果為零,則電子郵件將包含一個空字串,如果為空,則電子郵件將為空。
這將找到 email 為空、null 或具有不可列印字符的任何行
where len(email) = 0 or len(email) is null
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431786.html
