0

我有一个类似的 mySQL 查询

SELECT configs.*, (settings.defaultConfig=configs.id) AS isDefault FROM configs, settings

其中 settings 是只有一行的表,而 settings.defaultConfig 和 configs.id 都是纯整数列,不允许 NULL 值。

现在我正在搜索执行相同操作的 mssql 查询:返回手头的配置是否为 defaultConfig。

4

2 回答 2

0

使用CASE声明:

CASE configs.id WHEN settings.defaultConfig THEN 1 ELSE 0 END AS isDefault

MSSQL中没有boolean数据类型,最接近的是bit.

于 2013-11-08T13:46:55.560 回答
0

我会像这样重写查询:

SELECT configs.*, 
    (case when settings.defaultConfig is null then 0 else 1 end) AS isDefault 
FROM configs left join settings on settings.defaultConfig=configs.id
于 2013-11-08T13:57:42.780 回答