首页 > 解决方案 > Sql 存在 vs MySql 存在

问题描述

在 MySql 中,我可以返回(有效的)一个布尔值,使用它来确定数据库是否按名称存在。

SELECT EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = 'MyDatabase')

MS SQL 有什么相同之处?

标签: mysqlsqlsql-serverexists

解决方案


t-sql 中没有布尔值这样的东西。最接近的是实际上允许三个值(0、1 和 NULL)的位。如果要选择 1 或 0,可以通过将 count(*) 转换为位来实现。0 以外的任何值都将是 1。

select MyResult = convert(bit, count(*))
FROM information_schema.schemata
where SCHEMA_NAME = 'YourSchemaName'

推荐阅读