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;

2、获取时间

select date_sub(curdate(),interval 1 year) 上一年日期;
select date_sub(curdate(),interval 1 month) 上个月日期;
SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 0 year)) 当前年份;

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

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

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

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

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

sql获取时间、年龄的更多相关文章
- 【HANA系列】SAP HANA SQL获取时间中的小时
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取时间 ...
- SQL 获取时间格式
2018-12-17 22:31:01 SQL : CONVERT(varchar(100), GETDATE(), 20) Oracle: to_date(SYSDATE(),'yyy ...
- sql获取时间
SELECT CONVERT(varchar(10), getdate(), 120)--当前年月日,Example:2013-11-19 SELECT CONVERT(varchar(10), ge ...
- sql获取时间时分秒
select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())
- sql---字段类型转换,sql获取当前时间
一.字段类型转换 convert(要转换成的数据类型,字段名称)例如 convert(varchar(100),col_name)Convert(int,Order_no) 二.sql获取当前时间 s ...
- 获取时间SQL函数语句
1.获取时间 获取当天的数据 where DATEDIFF (DD, 数据库中时间的字段 ,GETDATE())=0 查询24小时内的 where DATEDIFF (HH, 数据库中时间的字段 ...
- SQL Server时间粒度系列----第3节旬、月时间粒度详解
本文目录列表: 1.SQL Server旬时间粒度2.SQL Server月有关时间粒度 3.SQL Server函数重构 4.总结语 5.参考清单列表 SQL Server旬时间粒度 ...
- SQL Server时间粒度系列----第4节季、年时间粒度详解
本文目录列表: 1.SQL Server季时间粒度2.SQL Server年时间粒度 3.总结语 4.参考清单列表 SQL Serve季时间粒度 季时间粒度也即是季度时间粒度.一年每3 ...
- sqlserver 获取时间年月日时分秒
转自:http://blog.itpub.net/14766526/viewspace-1156100/ select GETDATE() as '当前日期',DateName(year,GetDat ...
随机推荐
- 流畅的python和cookbook学习笔记(三)
1.双向队列 collections.deque 类(双向队列)是一个线程安全.可以快速从两端添加或者删除元素的数据类型. rotate和popleft操作,rorate可以把前后元素换位.pople ...
- redis的安全问题
1.修改redis.conf配置文件 2.重启redis服务,使其生效 3.成功登陆以后,使用auth+密码 或者在登录的时候使用-a 密码的授权方式
- Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的
本文介绍了使用spring注解注入属性的方法. 使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@Po ...
- COGS2485 从零开始的序列
传送门 题意:给定一个长为$n$的序列,定义$f(x)$表示所有(长为$x$的区间最小值)的最大值,求$f(1)$~$f(n)$. 看好多人都用并查集做的,然而我并不想写……既然品酒大会可以后缀数组+ ...
- java 反射实现2个int变量值的交换
import java.io.*;import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; ...
- 软件项目技术点(5)——在canvas上绘制动态网格线
AxeSlide软件项目梳理 canvas绘图系列知识点整理 grid类的实现 当鼠标在画布上缩放时,网格能跟着我的鼠标滚动而相应的有放大缩小的效果. 下面是具体实现的代码,draw函数里计算出大 ...
- JS Event 鼠标拖拽事件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- 三重for循环实现对二维数组的按列排序(JavaScript)
由C语言联想到的:三重for循环实现对二维数组的按列排序,并且牵扯到数据结构. 自己写的,水平有限,本文属于原创,可能存在错误,忘指正~ function circle() { var a = [ [ ...
- 回溯法最优装载问题(java)
1.问题描述: 有一批共有 n 个集装箱要装上两艘载重量分别为 c1 和 c2 的轮船,其中集装箱 i 的重量为 w[i], 且重量之和小于(c1 + c2).装载问题要求确定是否存在一个合 ...
- 05_zookeeper的ACL
[ACL概述] ACL:access control Lists,权限控制. * 针对节点可以设置相关的读写等权限,目的是为了保障数据安全性. * 权限permissions可以指定不同的权限范围以及 ...