具有布尔返回值的MSSQL查询

时间:2013-11-08 13:43:31

标签: sql sql-server

我有像

这样的mySQL查询
SELECT configs.*, (settings.defaultConfig=configs.id) AS isDefault FROM configs, settings

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

现在我正在搜索同样的mssql查询:返回手头的配置是否为defaultConfig。

2 个答案:

答案 0 :(得分:0)

使用CASE声明:

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

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

答案 1 :(得分: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