2
我想從C#代碼中讀取存儲到SQL Server中的按位值。如何從C#代碼中確定存儲在SQL Server中的按位代碼值
假設下面的代碼將位值存儲到數據庫中。
DECLARE @MedCopay VARCHAR(1);
DECLARE @MedDeductible VARCHAR(1);
DECLARE @MedCoins VARCHAR(1);
SET @MedCopay = 'Y';
SET @MedDeductible = 'N';
SET @MedCoins = 'Y';
SELECT CASE
WHEN @MedCopay = 'Y'
THEN 1
ELSE 0
END|CASE
WHEN @MedDeductible = 'Y'
THEN 10
ELSE 0
END|CASE
WHEN @MedCoins = 'Y'
THEN 100
ELSE 0
END;
上面的查詢將下面的值存儲到數據庫
101
所以問題是,我怎麼能寫C#代碼,以確定
101 = MedCopay & MedCoins?
我建議你忘掉它。一般來說,SQL不是正確的工具。使用布爾類型的不同列。這將是一件容易的事情(特別是如果你需要搜索這些值的話) – Steve
@Steve我同意你的建議,但此時不可能改變數據庫結構。 – M005
這不是按位表示。 Transact-SQL中的「11」不表示二進制11.二進制11是Transact-SQL(小數基數)中的值「3」。 –