Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
四方云和
Devbook
提交
117c185b
D
Devbook
项目概览
四方云和
/
Devbook
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Devbook
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
117c185b
编写于
3月 27, 2020
作者:
RunAtWorld
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
时间比较
上级
e1889557
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
52 deletion
+27
-52
开发/db/mysql/README.md
开发/db/mysql/README.md
+0
-51
开发/db/mysql/sql_cmd.md
开发/db/mysql/sql_cmd.md
+27
-1
未找到文件。
开发/db/mysql/README.md
浏览文件 @
117c185b
### 时间比较
-
转成时间戳
-
`unix_timestamp(time1)`
将字符型的时间,转成unix时间戳
-
格式化
-
`Date(time1)`
将 datetime 转成 date
-
`MONTH(time1)`
-
`Year(time1)`
-
`Month(time1)`
-
哪一天
-
`DAYOFWEEK(time1)`
,
`WEEKDAY(time1)`
0 = 星期一
-
`DAYOFMONTH(time1)`
-
`DAYOFYEAR(time1)`
-
`DAYNAME(time1)`
,
`MONTHNAME(time1)`
-
季度
-
`QUARTER(time1)`
-
日期比较
-
`>`
`<`
`=`
如
`SELECT NOW() > '2019-09-21 15:59:59';`
-
`between ... and ...`
如
`SELECT NOW() BETWEEN '2019-09-21 15:59:59' AND '2019-10-21 15:59:59' AS res;`
-
`DATEDIFF(time1,time2)`
如
`SELECT DATEDIFF(NOW(),'2019-09-21 15:59:59') > 0;`
-
日期计算
-
减
`DATE_SUB(CURDATE(),INTERVAL 3 MONTH)`
-
加
`DATE_ADD(CURDATE(),INTERVAL 3 MONTH)`
-
计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
-
`TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)`
```
FRAC_SECOND 表示间隔是毫秒
SECOND 秒
MINUTE 分钟
HOUR 小时
DAY 天
WEEK 星期
MONTH 月
QUARTER 季度
YEAR 年
```
-
计算两日期之间相差多少周
```
sql
select
timestampdiff
(
WEEK
,
'2011-09-30'
,
'2015-05-04'
);
```
-
计算两日期之间相差多少天
```
sql
select
timestampdiff
(
day
,
'2011-09-30'
,
'2015-05-04'
);
`
```
-
计算两日期/时间之间相差的分钟数
```
sql
select
timestampdiff
(
MINUTE
,
'2011-09-30'
,
'2015-05-04'
);
-- 或
SELECT
SEC_TO_TIME
(
UNIX_TIMESTAMP
(
end_time
)
-
UNIX_TIMESTAMP
(
start_time
));
```
\ No newline at end of file
开发/db/mysql/sql_cmd.md
浏览文件 @
117c185b
...
...
@@ -408,7 +408,33 @@ ifnull(oracle, nvl) #如果 oracle 字段为 null , 设置为 nvl
-
日期计算
-
减
`DATE_SUB(CURDATE(),INTERVAL 3 MONTH)`
-
加
`DATE_ADD(CURDATE(),INTERVAL 3 MONTH)`
-
计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
-
`TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)`
```
FRAC_SECOND 表示间隔是毫秒
SECOND 秒
MINUTE 分钟
HOUR 小时
DAY 天
WEEK 星期
MONTH 月
QUARTER 季度
YEAR 年
```
-
计算两日期之间相差多少周
```
sql
select
timestampdiff
(
WEEK
,
'2011-09-30'
,
'2015-05-04'
);
```
-
计算两日期之间相差多少天
```
sql
select
timestampdiff
(
day
,
'2011-09-30'
,
'2015-05-04'
);
`
```
-
计算两日期/时间之间相差的分钟数
```
sql
select
timestampdiff
(
MINUTE
,
'2011-09-30'
,
'2015-05-04'
);
-- 或
SELECT
SEC_TO_TIME
(
UNIX_TIMESTAMP
(
end_time
)
-
UNIX_TIMESTAMP
(
start_time
));
```
## 细节专栏
### DISTINCT
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录