MySQL和SQlServer的区别

MySQL和SQlServer的区别

说明:在一些常用的SQL语句中,MySQL和SQLServer存在有一些区别,后续我也会将我遇到的不同点持续更新在这篇博客中。

1. 获取当前时间

SQLServer:

sql 复制代码
-- SQLServer
-- 1.获取当前时间
SELECT GETDATE();
-- 2.查询时间间隔,SQLServer中可以自由填写时间单位
select DATEDIFF(day,GETDATE(), '2023-10-01');

MySQL

sql 复制代码
-- MySQL
-- 1.获取当前时间
SELECT NOW();
-- 2.获取当前时间和一个时间相差几天
select DATEDIFF(NOW(), '2023-10-01');
-- 3.计算当前时间减去一天
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);

关于DATE_SUB的具体说明:

sql 复制代码
DATE_SUB(date, INTERVAL expr unit)
  • date: 这是你要从中减去时间间隔的日期或日期时间值。它可以是一个日期字面量、一个日期时间字面量,或者一个返回日期/日期时间值的表达式或列。
  • INTERVAL: 这是固定的关键字,用于指示紧接着的表达式和单位表示一个时间间隔。
  • expr: 这是一个数值表达式,表示要减去的时间间隔的数量。
  • unit: 这是时间间隔的单位,它可以是以下值之一:MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER 或 YEAR。

2. 限制查询结果集

SQLServer:

sql 复制代码
SELECT * FROM table_name
ORDER BY id
OFFSET 0 ROWS FETCH NEXT 2 ROWS ONLY

说明:

  • OFFSET n ROWS:从第n行开始
  • FETCH NEXT m ROWS ONLY:获取m行数据
    MySQL
sql 复制代码
SELECT * FROM table_name
ORDER BY id
LIMIT 2 OFFSET 2;

LIMIT的说明:

  • LIMIT m:获取最多 m 行数据。
  • OFFSET n:跳过前 n 行数据。

2. 联表更新

SQLServer:

sql 复制代码
UPDATE table1
SET table1.column1 = table2.column1
FROM table1
LEFT JOIN table2 ON table1.id = table2.id

MySQL

sql 复制代码
UPDATE table1
LEFT JOIN table2 ON table1.id = table2.id
SET table1.column1 = table2.column1
相关推荐
JSON_L33 分钟前
Fastadmin中实现敏感词管理
数据库·php·fastadmin
不是起点的终点2 小时前
【实战】Python 一键生成数据库说明文档(对接阿里云百炼 AI,输出 Word 格式)
数据库·python·阿里云
2301_813599554 小时前
Go语言怎么做秒杀系统_Go语言秒杀系统实战教程【实用】
jvm·数据库·python
NCIN EXPE8 小时前
redis 使用
数据库·redis·缓存
MongoDB 数据平台8 小时前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
极客on之路8 小时前
mysql explain type 各个字段解释
数据库·mysql
代码雕刻家8 小时前
MySQL与SQL Server的基本指令
数据库·mysql·sqlserver
lThE ANDE8 小时前
开启mysql的binlog日志
数据库·mysql
yejqvow128 小时前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
oLLI PILO9 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库