mysql - T-SQL (transact-SQL) 在 SQLite 和其他 SQL 数据库中有效吗?

标签 mysql sql tsql sqlite

关于 T-SQL 以及在 SQLite 和其他非 Microsoft SQL 实现中使用它的能力,似乎没有任何明确的信息。我遇到的大多数文章都说它是 Microsoft 专有的,那么我们可以在 SQLite 数据库上使用 T-SQL 语句,如 CASE 等吗?

最佳答案

T-SQL 是微软对 ANSI SQL 标准的实现(方言)。像大多数实现一样,有一些部分是专有的而不是标准的,有一些允许但不是其他平台惯用的怪癖,以及标准中定义的未实现的项目。 MySQL、sqlite 和其他平台都是相同的方式,因此有时与另一个平台的怪癖会导致该平台“正确”且符合标准的 T-SQL 被破坏。

换句话说,如果您了解 T-SQL,那么您就知道为 SQLite、MySQL、oracle、db2、Informix、Access 等编写查询所需的大约 85%。但是,会有一些颠簸;绝对不要期望为一个平台编写的代码可以在另一个平台上运行。

CASE 是各种 sql 风格往往不同的实例之一,许多其他实现选择基于 IF 的语法。另一方面,核心 SELECTFROMWHERE 关键字往往更加一致。

关于mysql - T-SQL (transact-SQL) 在 SQLite 和其他 SQL 数据库中有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632259/

相关文章:

mysql - 没有分组依据的 SQL 计数

php - 更新具有相同 id 和相同值的多行

sql - 删除重复项 - 仅删除除最近日期行之外的所有行

SQL 查询 - 我可以比较在 SELECT 子句中使用 LEN 吗?

Sql Server 相当于 COUNTIF 聚合函数

tsql - 在 SQL 中取每小时平均值

sql - 改进我的 SQL Select 语句以选择尚未完全完成某个部分的学生

php - PHP 验证错误

MySQL - 如何显示每个线程的最新主题

sql - 我应该在什么情况下使用 Entity SQL?