zoukankan      html  css  js  c++  java
  • 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 now() 当前时间;
     
    SELECT curdate() 当天日期;
    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)) 当前年份;

    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)) 前一天几号;

  • 相关阅读:
    vs中nodejs代码 resharper 提示 ECMAScript2015 Feature. your Current language level is ECMAScript5的解决办法
    为什么使用Sails?
    关于sails 初学者常见问题汇总
    mongoDb,下载及启动
    npm命令,查看当前npm版本,更新nmp到最新版本,安装sails
    ReSharper Ultimate 2017 下载地址及破解方法
    visual studio 2015开发nodejs教程1搭建环境
    简介Gulp, Grunt, Bower, 和 Npm 对Visual Studio的支持
    VS2015前端工具:NPM和Web Essentials
    在Visual Studio上开发Node.js程序
  • 原文地址:https://www.cnblogs.com/weibanggang/p/9269039.html
Copyright © 2011-2022 走看看