如何在 SQL 中设置布尔值

新手上路,请多包涵

我有一列是布尔值。如何为此设置真假值?这是我的查询:

 Update [mydb].[dbo].[myTable]
SET isTrue =
(
CASE WHEN Name = 'Jason' THEN 1
END
)

我不知道在 THEN 关键字之后写什么。我应该写 1true 还是 1 AS BIT 或其他?

原文由 jason 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 826
2 个回答

Sql server 不公开可用于查询的 boolean 数据类型。

相反,它具有 bit 数据类型,其中可能的值为 01

So to answer your question, you should use 1 to indicate a true value, 0 to indicate a false value, or null 表示未知值。

 Update [mydb].[dbo].[myTable]
SET isTrue =
CASE WHEN Name = 'Jason' THEN
    1
ELSE
    0
END

原文由 Zohar Peled 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用sql server的IIF函数

DECLARE @a int = 45, @b int = 40;
DECLARE @a int = 45, @b int = 40;
SELECT IIF ( @a > @b, 'TRUE', 'FALSE' ) AS Result;

Result
--------
TRUE

(1 row(s) affected)

对于您的问题

Update [mydb].[dbo].[myTable]
SET isTrue = ( Name = 'Jason', 'TRUE', 'FALSE' )

原文由 Munawar Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进