sql - 哪个查询在 SQL Server 和 Oracle 中都有效?
问题描述
我正在搜索SELECT
在 SQL Server 和 Oracle 中都可以使用的查询。它选择什么或结果是什么并不重要,但它不能依赖于数据库内容。
这听起来很简单,但我想不出一个例子。
首先我想到了SELECT 0
,但是Oracle需要FROM dual
SQL Server不支持的。然后我尝试SELECT * FROM INFORMATION_SCHEMA.TABLES
了,但Oracle没有那些......
编辑:出现这个问题是为了检查是否可以访问某些 SQL Server 链接服务器。但我认为它本身就很有趣。
解决方案
在 rextester 上,以下内容适用于SQL Server和Oracle:
select count(*)
from sys.all_objects;
可能还有一些其他的 sys 表可以使用。
编辑:
我将回应 Jeroen 的评论。如果您也想要相同的结果,请添加一个过滤掉所有行的子句:
select count(*) as always_zero
from sys.all_objects
where 1 = 0;
推荐阅读
- docker - 无法从 Windows 容器显示 GUI 应用程序
- c# - 选择 UI 项目,然后做某事
- javascript - 子组件在反应钩子中调用useState()时如何实现条件渲染?
- c# - SQLite插入循环错误'SQLiteException:'数据库被锁定'
- javascript - Highcharts - 自定义 rangeSelector 按钮并将 xAxis 从每小时更改为日期
- jenkins - Jenkins Groovy Pipeline org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:未找到此类字段:字段 groovy.util.Node
- reactjs - 如何使用 Laravel Echo 和 Socket.io 获得身份验证以加入私人频道
- python - 如何通过避免不需要的代码仅从表中获取内容
- gitlab - 我的文件夹图标在 gitlab 中更改为存档图标
- php - 当值为空时在查询中使用 if 条件