2011-08-02 70 views

回答

11

試試這個。

SELECT (CASE WHEN LEN(SomeLongTextColumn) = 0 THEN 1 ELSE 0 END) AS IsEmtpy 

@gbn對如何返回布爾值有很好的解釋。

16

如果轉換爲位,那麼大多數客戶端代碼可以把它讀作布爾直接(SQL Server沒有一個boolean類型)

SELECT 
    CAST(
     CASE 
      WHEN len(someLongTextColumn) = 0 THEN 1 ELSE 0 
     END AS bit 
     ) as isEmpty; 

,如果你有一個去很多,使用位變量,如這樣的:Imply bit with constant 1 or 0 in SQL Server

0

在MS SQL 2012及更高版本,可以使用IIF作爲簡寫:

select IIF(len(someLongTextColumn) = 0, 1, 0) as isEmpty; 
0

SQL服務器:

SELECT CONVERT(BIT, 1) -- true 
SELECT CONVERT(BIT, 0) -- false