如何查找当前数据库类型

Gau*_*rav 4 sql

我们有一个SQL脚本可以在多种类型的数据库上执行.是否可以获取正在执行SQL脚本的当前数据库的类型?

注意:我们不能使用非标准SQL即.TSQL等

zer*_*kms 5

不,ANSI SQL中没有关于确定数据库供应商的信息.


ave*_*sta 5

尽管没有 SQL 查询告诉您数据库类型,但有些查询仅适用于某些数据库类型,而不适用于其他数据库类型。例如,SELECT version()如果您的数据库是 PostgreSQL,则会告诉您当前数据库的版本,但如果您尝试在 Microsoft 中运行它,则会导致错误。以下是其他检查方法。

  1. 微软、MySQL ->SELECT @@version;
  2. 甲骨文->SELECT * FROM v$version;
  3. PostgreSQL->SELECT version();

事实上,这就是黑客试图获取隐藏数据库信息的方式。

这是我博客中发现的其他差异