簡體   English   中英

SQL 服務器 CASE 表達式在 WHERE 子句中檢查 NULL 值

[英]SQL Server CASE expression in WHERE clause to check NULL value

我嘗試在 SQL 服務器中執行此查詢:

select * from users where case when 1=1 then name is null else true end;

但我得到了這個錯誤:

關鍵字“is”附近的語法不正確

此查詢在 MySQL 中成功運行。 你能告訴我這個查詢在 SQL 服務器中的等效項嗎?

你不能做這樣的表達,語法是錯誤的。

如果要選擇條件,則必須使用邏輯運算符:

where (1=1 and name is null)
   or (1<>1 and 1=1)

我將true替換為始終評估為 true ( 1=1 ) 的條件,因為true本身是查詢中的另一個語法錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM