
MySQL 和 SQL Server 中一些常用但用法不同的函数
1. 日期和时间函数:
MySQL:
CURDATE()
、CURRENT_DATE
获取当前日期;CURTIME()
、CURRENT_TIME
获取当前时间;NOW()
获取当前日期和时间。SQL Server:
GETDATE()
获取当前日期和时间;DATEPART()
提取日期时间的部分。
2. 字符串函数:
MySQL:
SUBSTRING()
、MID()
截取字符串;TRIM()
去除字符串两端的空格;CONCAT()
连接字符串。SQL Server:
SUBSTRING()
截取字符串;LTRIM()
、RTRIM()
分别去除字符串左侧和右侧的空格;+
运算符连接字符串。
3. 聚合函数:
MySQL:
AVG()
、SUM()
、COUNT()
、MIN()
、MAX()
等。SQL Server:同样支持上述聚合函数,用法类似。
4. 数学函数:
MySQL:
ABS()
求绝对值;CEIL()
向上取整;FLOOR()
向下取整。SQL Server:
ABS()
、CEILING()
向上取整;FLOOR()
向下取整。
5. 条件判断函数:
MySQL:
IF()
、IFNULL()
。SQL Server:
IIF()
、ISNULL()
。
6. 排序函数:
MySQL:通常使用
ORDER BY
子句进行排序。SQL Server:同样使用
ORDER BY
,但在分页上有所不同。
7. 随机函数:
MySQL:
RAND()
。SQL Server:
RAND()
结合CHECKSUM(NewID())
。
8. 类型转换函数:
MySQL:
CAST()
、CONVERT()
。SQL Server:
CAST()
、CONVERT()
,但参数和用法可能略有差异。
9. 日期时间格式化函数:
MySQL:
DATE_FORMAT()
。SQL Server:
FORMAT()
。
10. 索引和排序相关:
MySQL:
INDEX
定义索引;ORDER BY
排序。SQL Server:
INDEX
定义索引;ORDER BY
排序,分页方式不同。
11. 系统函数:
MySQL:
LAST_INSERT_ID()
获取最后插入的自增 ID 。SQL Server:
@@IDENTITY
、SCOPE_IDENTITY()
获取最后插入的标识值。
12. 分组相关:
MySQL:
GROUP_CONCAT()
用于将分组中的值连接成一个字符串。SQL Server 中没有直接对应的函数,可能需要通过其他方式实现类似功能。
13. 查找和替换函数:
MySQL:
LOCATE()
查找子字符串位置;REPLACE()
替换字符串。SQL Server:
CHARINDEX()
查找子字符串位置;REPLACE()
替换字符串。
14. 位运算函数:
MySQL:
BIT_COUNT()
计算位中 1 的数量。SQL Server 中对位运算的支持和函数可能有所不同。
15. 加密函数:
MySQL:
MD5()
、SHA1()
等。SQL Server:
HASHBYTES()
等。
需要注意的是,虽然这些函数在功能上可能相似,但在具体的参数、返回值和用法上可能存在细微的差异。






