数据库中不同DBMS系统的区别

1.通配符

(1)MySQL:在搜索串中,%表示任何字符出现任意次数;而在Microsoft Access中使用 * 而不是%
(2)MySQL中下划线_通配符的用途与%一样,但它只匹配单个字符,而不是多个字符,DB2不支持通配符_,在Microsoft Access中使用?而不是_;
(3)方括号通配符([])用来指定一个字符集,匹配指定位置(通配符位置)的一个字符,MySQL不支持用来创建集合的[],Microsoft Access和SQL Server支持
(4)前缀字符^(脱字符)来否定,MySQL不支持,在Microsoft Access中使用!而不是^

2.计算字段

(1)拼接字段:在SQL中的SELECT语句中,可以使用一个特殊的操作符来拼接两个列,根据DBMS不同,此操作符可为加号(+)或两个竖杠(||)表示,在MySQL中使用Concat()函数

3.数据处理函数

(1)数据处理函数在格式化、处理和过滤数据中非常有用,但它们在各种SQL实现中很不一致
(2)SQL函数不可移植,即特定SQL实现编写的代码在其他实现中可能不正常
(3)每个DBMS都有特定的函数,只有少数几个函数被所有主要的DBMS等同地支持
(4)虽然所有类型的函数一般都可以在每个DBMS中使用,但各个函数的名称和语法可能极为不同

(5)

  • 用于处理文本字符串(如删除、填充、转换大小写)的文本处理函数
  • 用于在数值数据上进行算术操作(如返回绝对值、代数运算)的数值处理函数,在主要DBMS的函数中,数值函数最统一、最一致
  • 用于处理日期和时间值并从中提取特定成分(如返回两个日期之差、检查日期有效性)的日期和时间处理函数

4.聚集函数

Microsoft Access在聚集函数中不支持DISTINCT参数

5.分组数据

(1)Microsoft SQL Server等有些SQL实现在GROUP BY中支持可选的ALL子句。这个子句可用来返回所有分组,即使是没有匹配行的分组也返回(在此情况下,聚集将返回NULL)。
(2)有的SQL实现允许根据SELECT列表中的位置指定GROUP BY的列。例如,GROUP BY 2, 1可表示按选择的第二个列分组,然后再按第一个列分组。

参考文献:
【1】《SQL必知必会》第四版 人民邮电出版社 [美] Ben Forta 著 钟鸣 刘晓霞 译

本文地址:https://blog.csdn.net/weixin_43806252/article/details/110690810

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐