数据库中不同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
上一篇: mysql忘记密码应该怎么做
下一篇: SQL Server数据库字段类型
推荐阅读
-
Oracle中Instance实例和数据库的区别
-
不同格式的Access文件导入Mssql数据库中
-
Mysql数据库名和表名在不同系统下的大小写敏感问题
-
C#中实现在32位、64位系统下自动切换不同的SQLite dll文件
-
在win和Linux系统中python命令行运行的不同
-
数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)
-
Mysql数据库名和表名在不同系统下的大小写敏感问题
-
在win和Linux系统中python命令行运行的不同
-
数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)
-
Oracle中Union与Union All的区别(适用多个数据库)