2014-06-10 69 views
3

我想將布爾轉換爲整數。這裏是我到目前爲止的編碼:將布爾轉換爲整數SQl服務器

CONVERT(int, column_name) AS ALIAS 

查詢運行時沒有錯誤。但是,它並沒有產生我想要的結果。

我需要做什麼?

+0

我要指出,它的值轉換爲整數。但是,它只返回0。這是爲什麼發生? – user3109653

+0

爲什麼你需要一個布爾值是一個整數?他們已經有效地只有1或0.爲什麼不只是檢查真或假? – Jhecht

+0

也許所有的記錄在該領域都是錯誤的。什麼是rdbms?這是相關的。 –

回答

4

你在做什麼應該足以將BIT值轉換爲int,如下所示。

DECLARE @TABLE TABLE(Value BIT) 

INSERT INTO @TABLE VALUES 
(1),(0),(1),(0),(1),(0),(1) 

查詢

SELECT Value 
     ,CAST(Value AS INT) AS Casted 
     ,CONVERT(int, Value) AS Converted 
FROM @TABLE 

結果集

╔═══════╦════════╦═══════════╗ 
║ Value ║ Casted ║ Converted ║ 
╠═══════╬════════╬═══════════╣ 
║  1 ║  1 ║   1 ║ 
║  0 ║  0 ║   0 ║ 
║  1 ║  1 ║   1 ║ 
║  0 ║  0 ║   0 ║ 
║  1 ║  1 ║   1 ║ 
║  0 ║  0 ║   0 ║ 
║  1 ║  1 ║   1 ║ 
╚═══════╩════════╩═══════════╝