带有布尔返回值的MSSQL查询
我有一个类似mySQL的查询带有布尔返回值的MSSQL查询,sql,sql-server,Sql,Sql Server,我有一个类似mySQL的查询 SELECT configs.*, (settings.defaultConfig=configs.id) AS isDefault FROM configs, settings 其中,settings是一个只有一行的表,settings.defaultConfig和configs.id都是纯整数列,不允许空值 现在,我正在搜索一个mssql查询,并执行相同的操作:返回手头的配置是否为defaultConfig。使用CASE语句: CASE configs.id
SELECT configs.*, (settings.defaultConfig=configs.id) AS isDefault FROM configs, settings
其中,settings是一个只有一行的表,settings.defaultConfig和configs.id都是纯整数列,不允许空值
现在,我正在搜索一个mssql查询,并执行相同的操作:返回手头的配置是否为defaultConfig。使用
CASE
语句:
CASE configs.id WHEN settings.defaultConfig THEN 1 ELSE 0 END AS isDefault
MSSQL中没有
boolean
数据类型,最接近的是bit
我会像这样重写查询:
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