【发布时间】:2017-08-18 21:18:42
【问题描述】:
我正在尝试获取信息以发送到 Google 图表以获取图表,我正在查看 Active 列,该列可以是真/假,但在我的数据库中设置为 varchar。
使用这个查询:
SELECT
SUM(CASE WHEN CONVERT(int, Active) Active = 1 THEN 1 ELSE 0 END) AS Active,
SUM(CASE WHEN CONVERT(int, Active) Active = 0 THEN 1 ELSE 0 END) AS Inactive
FROM
Events
抛出此错误:
将 varchar 值“True”转换为数据类型 int 时转换失败。`
【问题讨论】:
-
为什么
Active不是位列而是 varchar 列? -
转换为 bit 而不是 int 应该可以工作
-
@TimSchmelter 应该是,但是现在我已经构建了一个完整的系统,并且害怕更改类型,因为它可能会影响我应用程序中的许多其他地方。
标签: tsql sql-server-2012