mysql获取年龄_sql获取时间、年龄
mysql數(shù)據(jù)庫獲取年齡:TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE())
select * from (select name 姓名,TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) 年齡 from [表名])a;
sqlserver數(shù)據(jù)庫獲取年齡: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點日期相關(guān)函數(shù)整理
一、sql server數(shù)據(jù)庫
1. 獲取當(dāng)前日期
select?GETDATE()
格式化:
select?CONVERT(varchar,GETDATE(),120) --2017-05-12 16:33:10
2. 獲取當(dāng)前年??--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.獲取當(dāng)前月 --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.獲取當(dāng)前日期 --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. 獲取當(dāng)前年月 --201705
select?CONVERT(varchar(6),GETDATE(),112) --201705
select?CONVERT(varchar(7),GETDATE(),120) --2017-05
6.獲取當(dāng)前年月日 --20170512
select?CONVERT(varchar(8),GETDATE(),112) --20170512
select?CONVERT(varchar(10),GETDATE(),120) --2017-05-12
7.日期相關(guān)函數(shù)整理:
GETDATE()?:獲取當(dāng)前時間,時間格式默認(rèn)。
DATENAME:參數(shù)為兩個,取值區(qū)間?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:參數(shù)參考DATENAME,不過返回值不一樣,DATENAME返回varchar,DATEPART返回int
CONVERT?函數(shù)轉(zhuǎn)換格式:主要注意第三個參數(shù) 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
字符串轉(zhuǎn)日期:select CONVERT(datetime,'2017-05-12',20) 第三個參數(shù)參考以上。
二、mysql 數(shù)據(jù)庫
1、獲取生日
select * from (select Sname 姓名,TIMESTAMPDIFF(YEAR, [出生日期字段], CURDATE()) 年齡 from Student )a;
2、獲取時間
select now() 當(dāng)前時間;
SELECT curdate() 當(dāng)天日期;
select date_sub(curdate(),interval 1 day) 前一天日期;
select date_sub(curdate(),interval 1 year) 上一年日期;
select date_sub(curdate(),interval 1 month) 上個月日期;
SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 0 year)) 當(dāng)前年份;
SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 year)) 上一年份;
SELECT month(DATE_SUB(CURDATE(),INTERVAL 0 month)) 當(dāng)前月份;
SELECT month(DATE_SUB(CURDATE(),INTERVAL 1 month)) 上一月份;
SELECT day(DATE_SUB(CURDATE(),INTERVAL 0 DAY)) 當(dāng)前幾號;
SELECT day(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) 前一天幾號;
總結(jié)
以上是生活随笔為你收集整理的mysql获取年龄_sql获取时间、年龄的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Untiy 接入 移动MM 详解 转
 - 下一篇: N2N V3 安装配置解决方案