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 ...
随机推荐
- Angular4 step by step.3
1.Routes 路由模块 import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angul ...
- request方法总结
1.获得指定的头 String header = response.getHeader("user-agent"); 2.获得所有头的名称 Enumeration<Stri ...
- CXF生成客户端遇到的问题
一.CXF环境配置路径错误 1.错误现象 在命令行中输入 wsdl2java -v 检查CXF安装是否正确. 出现错误=> ERROR: Unable to find cxf-manifest. ...
- js 表格合并单元格
5列 根据需要可添加 或 删除 strOneTemp strTwoTemp strThreeTemp strFourTemp strFiveTemp //合并单元格 this.mergeC ...
- swagger2配置和使用
1.导入swagger2 <dependency> <groupId>io.springfox</groupId> <artifactId>spring ...
- java 单例的实现及多线程下的安全
package com.demo01; public class Single { /** * 设计模式:单例设计模式 * 解决一个类中只允许存在一个对象这种情况: * 不允许通过类,无限制的创建该类 ...
- String API
String它即是内置对象,也是 包装类型之一,所有的String API都无法修改原字符串,而是返回一个新的字符串. 1.大小写转换 str.toUpperCase(); str = str.t ...
- 1-3 Sass 语法、编译、调试
Sass 语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sa ...
- Re-thinking Deep Residual Networks
本文是对ImageNet 2015的冠军ResNet(Deep Residual Networks)以及目前围绕ResNet这个工作研究者后续所发论文的总结,主要涉及到下面5篇论文. 1. Link: ...
- Android ImageButton单击切换按钮图片效果
正常状态的效果: 按钮按下的效果图片: 一.在java中为图片按钮增加触摸监听的函数来实现图片切换,代码如下: ImageButton btn = (ImageButton)findViewById( ...