mysql获取年龄_sql获取时间、年龄

mysql数据库获取年龄:TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE())

select * from (select name 姓名,TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) 年龄 from [表名])a;

sqlserver数据库获取年龄:DATEDIFF(yy,[出生日期字段],GETDATE())

select id AS 编号,SStudentName AS 姓名,DATEDIFF(yy,[出生日期字段],GETDATE())as 年龄 from[表名]

获取过去的多少秒

select * from [表名] where [字段名] > SUBDATE(now(),interval [多少秒] second)

获取过去的多少分钟

select * from [表名] where [字段名] > SUBDATE(now(),interval [多少分钟] minute)

第7点日期相关函数整理

一、sql server数据库

1. 获取当前日期

select GETDATE()

格式化:

select CONVERT(varchar,GETDATE(),120) --2017-05-12 16:33:10

2. 获取当前年  --2017

select DATENAME(YYYY,GETDATE()) --2017

select DATENAME(YEAR,GETDATE()) --2017

select DATEPART(YYYY,GETDATE()) --2017

select DATEPART(YEAR,GETDATE()) --2017

select YEAR(GETDATE())--2017

3.获取当前月 --05或5

select DATENAME(MM,GETDATE()) --05

select DATENAME(MONTH,GETDATE()) --05

select DATEPART(MM,GETDATE()) --5

select DATEPART(MONTH,GETDATE()) --5

select MONTH(GETDATE()) --5

4.获取当前日期 --07或7

select DATENAME(DAY,GETDATE()-5) --7

select DATENAME(D,GETDATE()-5) --7

select DATENAME(DD,GETDATE()-5) --7

select DATEPART(D,GETDATE()-5) --7

select DATEPART(DD,GETDATE()-5) --7

select DATEPART(DAY,GETDATE()-5) --7

select DAY(GETDATE()-5)

5. 获取当前年月 --201705

select CONVERT(varchar(6),GETDATE(),112) --201705

select CONVERT(varchar(7),GETDATE(),120) --2017-05

6.获取当前年月日 --20170512

select CONVERT(varchar(8),GETDATE(),112) --20170512

select CONVERT(varchar(10),GETDATE(),120) --2017-05-12

7.日期相关函数整理:

GETDATE() :获取当前时间,时间格式默认。

DATENAME:参数为两个,取值区间 interval 和时间 date

date 就是时间;

interval  包括 年,月,日,星期等

e.g:

YEAR 年;YYYY 年;YY 年;

QUARTER 季度;QQ 季度 ;Q 季度;

MONTH 月(05);MM 月(05);M 月(05);

WEEKDAY 星期几;DW 星期几;W 星期几;

WEEK 一年的第几周;WK 一年的第几周;WW 一年的第几周;ISOWK 一年的第几周;ISOWW 一年的第几周;ISO_WEEK 一年的第几周;

DAY 天;DD 天;D 天;

DAYOFYEAR 一年的第几天;DY 一年的第几天;Y 一年的第几天;

HOUR 小时;HH 小时;

MINUTE 分钟;MI 分钟;N 分钟;

SECOND 秒;SS 秒;S 秒;

MCS 微秒(略);MICROSECOND 微秒(略);MILLISECOND 毫秒(略);MS 毫秒(略) ; NANOSECOND 十亿分之一秒(略);NS 十亿分之一秒(略);

DATEPART:参数参考DATENAME,不过返回值不一样,DATENAME返回varchar,DATEPART返回int

CONVERT 函数转换格式:主要注意第三个参数 date_style ;格式:select CONVERT(varchar,GETDATE(),0)

最后的 date_style 可以有 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,100,

101,102,103,104,105,106,107,108,109,110,111,112,113,114,120,121,126,127,130,131等

常用的 20,23,24,102,111,112,120等;

示例:

select CONVERT(varchar,GETDATE(),20)  --2017-05-12 17:22:22

select CONVERT(varchar,GETDATE(),23)  --2017-05-12

select CONVERT(varchar,GETDATE(),24)  --17:23:42

select CONVERT(varchar,GETDATE(),102) --2017.05.12

select CONVERT(varchar,GETDATE(),111) --2017/05/12

select CONVERT(varchar,GETDATE(),112) --20170512

字符串转日期:select CONVERT(datetime,'2017-05-12',20) 第三个参数参考以上。

二、mysql 数据库

1、获取生日

select * from (select Sname 姓名,TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) 年龄 from Student )a;

9a63ba08c5a7c0fca68c13c0f02d3cf7.png

2、获取时间

select now() 当前时间;

965573571c0f6e674a7437028a7bcbaa.png

SELECT curdate() 当天日期;

5b299798313d4103c1d3d264c5432fff.png

select date_sub(curdate(),interval 1 day) 前一天日期;

49f31d686ad685940baae67d3c2d9e3e.png

select date_sub(curdate(),interval 1 year) 上一年日期;

440a9c6b7b4211b595dee225e8ef22c3.png

select date_sub(curdate(),interval 1 month) 上个月日期;

8b5a162c95d6a2739133ed21c586a6ec.png

SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 0 year)) 当前年份;

e1a7159fca0ca9e039cd10380f7261fe.png

SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 year)) 上一年份;

40649ac8a35c151cd4deaf171f193e73.png

SELECT month(DATE_SUB(CURDATE(),INTERVAL 0 month)) 当前月份;

ce2955c909459a2632ab4b07e0656291.png

SELECT month(DATE_SUB(CURDATE(),INTERVAL 1 month)) 上一月份;

c6c9c2d099b5d61f2fc93804ca0ca838.png

SELECT day(DATE_SUB(CURDATE(),INTERVAL 0 DAY)) 当前几号;

b3cbc04c2f7c1c4426730ed143f520a0.png

SELECT day(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) 前一天几号;

6b439963deda03f6f3e2086de282c8d3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值