我有列类型的INT,如果它包含1则我想选择1,否则选择0.我只知道使用CASE的方法:
CASE WHEN val=1 THEN 1 ELSE 0
Run Code Online (Sandbox Code Playgroud)
还有什么方法可以达到同样的效果?
小智 38
SQL SERVER 2012:
SELECT CAST(IIF ( field = 1, 1, 0 ) AS BIT) FROM table
Run Code Online (Sandbox Code Playgroud)
除此以外:
SELECT CAST(CASE field WHEN 1 THEN 1 ELSE 0 END AS BIT) From table
Run Code Online (Sandbox Code Playgroud)
小智 7
您所需要做的就是将转换int为bit。
DECLARE
@val INT = 42;
,@bitVal BIT;
SET @bitVal = CAST(@val AS BIT); -- equals 1
Run Code Online (Sandbox Code Playgroud)
任何非零数字都将转换为true。
https://technet.microsoft.com/zh-cn/library/ms191530(v=sql.105).aspx#_bit
| 归档时间: |
|
| 查看次数: |
44994 次 |
| 最近记录: |