获取当前年月日

select MONTH(GETDATE())     6               --获取当前月份
select MONTH(DATEADD(MONTH,1,GETDATE())) --获取当前月份的下个月
select MONTH(DATEADD(MONTH,-1,GETDATE())) --获取当前月份的上个月

year()获取年

select year(GETDATE()) 

day()获取日

select day(GETDATE())

用DateName()获取年月日

select GETDATE() as '当前日期'
select DateName(year,GetDate()) as '年'
select DateName(month,GetDate()) as '月'
select DateName(day,GetDate()) as '日'
select DateName(dw,GetDate()) as '星期'
select DateName(week,GetDate()) as '周数'
select DateName(hour,GetDate()) as '时'
select DateName(minute,GetDate()) as '分'
select DateName(second,GetDate()) as '秒'

DatePart()获取年月日

当前日期2014-06-19

select DatePart(YY,GETDATE())  2014
select DatePart(mm,GETDATE()) 6
select DatePart(dd,GETDATE()) 19

获取各种日期的方法

--1、本月第一天 

SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),120)+'',120)

--2.显示本月最后一天 

select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))

--

--3.上个月的最后一天  

SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0)) 

--4.本月的第一个星期一 

select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)

--5.本年的第一天  

SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) 

--6.本年的最后一天  

SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))

--7.去年的最后一天  

SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))

--8.本季度的第一天  

SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)  

--9.本周的星期一  

SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 

--10.查询本月的记录 

条件可写为:

DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

--11.查询本周的记录  

DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

--12.查询本季的记录 

DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

--13.获取当月总天数: 

select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))

select datediff(day,dateadd(mm, datediff(mm,'',getdate()), ''),
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))

--14.获取当前为星期几 

select DATENAME(weekday, getdate())

--15. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 

例如:向日期加上2天

select dateadd(day,2,'2014-10-15') --返回:2014-10-17 00:00:00.000

--16. datediff 返回跨两个指定日期的日期和时间边界数。 

select datediff(day,'2004-09-01','2004-09-18') --返回:17

--17. datepart 返回代表指定日期的指定日期部分的整数。 

SELECT DATEPART(month, '2004-10-15') --返回 10 

年为year,月为month,日为day,小时hour,分为minute,秒为second

--18. datename 返回代表指定日期的指定日期部分的字符串 

SELECT datename(weekday, '2004-10-15') --返回:星期五

--19. day(), month(),year() --可以与datepart对照一下 

select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15'),今天是周几=datename(weekday,'2004-10-15')

函数 参数/功能

GetDate( ) --返回系统目前的日期与时间
DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期
DatePart (interval,date) --返回日期date中,interval指定部分所对应的整数值
DateName (interval,date)-- 返回日期date中,interval指定部分所对应的字符串名称

sql中常见日期获取的更多相关文章

  1. SQL中常见语句

    SQL中常见语句笔记: --替换字段中的回车符和换行符 ) ), '') --删除表命令 DROP TABLE [dbo].[MGoods_Test] --删除表中数据命令 DELETE FROM [ ...

  2. SQL中CONVERT日期不同格式的转换用法

    SQL中CONVERT日期不同格式的转换用法 格式: CONVERT(data_type,expression[,style]) 说明:此样式一般在时间类型(datetime,smalldatetim ...

  3. SQL 中的日期和时间类型

    在我们SQL中一般支持三种数据类型. date:日历日期,包括年(四位),月和日. time: 一天中的时间,包括小时,分和秒.可以用变量time(p)来表示秒的小数点后的数字位数(默认是0). 通过 ...

  4. SQL中关于日期的常用方法

    mysql数据库: logintime >= STR_TO_DATE('$$START_TIME','%Y-%m-%d %H:%i:%s') AND logintime < STR_TO_ ...

  5. sql 中,如何获取两个日期之前月数、周数、天数

    1.获取两个日期之间的月数.周数.天数语法 --1.获取两个日期之间的月数.周数.天数 --1.1)声明参数 ) ) --1.2)获取两个日期直接的月数 select DATEDIFF(MM,@sta ...

  6. SQL 中常见的系统存储过程

    -- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_logi ...

  7. Sql 中常用日期转换Convert(Datetime)

    CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldate ...

  8. SQL中对日期进行模糊查询的方法

    在我们通过SQL语句对数据库中的数据进行查询时,难免会遇到针对datetime的查询,但是因为一般情况下,输入的时间条件为年月日,所以,这种情况下,我们就要进行一下模糊查询,首先,摒弃一种投机取巧的方 ...

  9. Sql 中常用日期转换Convert(Datetime) convert datetime

    Convert(data_type,expression[,style]) Convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldate ...

随机推荐

  1. RunTime.getRuntime().exec()运行脚本命令介绍和阻塞

     java在企业级项目开发中,无论是强制性的功能需要,还是为了简便java的实现,需要调用服务器命令脚本来执行.在java中,RunTime.getRuntime().exec()就实现了这个功能.  ...

  2. 使用postfix在debian上配置邮件服务器

    如果debian中安装了exim4,先卸载exim4: apt-get remove exim4 安装postfix apt-get install postfix 安装完成后就可以测试下,PHP代码 ...

  3. Mac OSX Sierra WiFi connecting problem

    吐槽一下,苹果的质量管控越来越差了. Mac OSX Sierra有时突然或升级后会遇到wifi不停重连连不上问题,现象为不停地连接wifi. 网上有人说删除 /Library/Preferences ...

  4. Java面试13|算法

    1.冒泡排序 for(int i=0;i<n;i++){ for(int j=0;j<n-1-i;j++){ if(temp[j]>temp[j+1]){ int t=temp[j] ...

  5. struts2学习笔记 ⑤

    拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...

  6. 棋盘覆盖(一) ACM

    棋盘覆盖 描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的2×2方格(图2为其中缺右下角的一个),去覆盖2k×2k未被覆盖过的方格,求 ...

  7. web从入门开始(3)-----第一个网页

    <meta>:是进行网页格式初始化的命令,确定网页使用的文本格式和编码格式 Background:中的路径,必须为相对路径 l  HTML文本标记 <b>HTM文本</b ...

  8. CentOS7搭建Confluence Wiki

    前言 在艾佳生活实习时,有三款团队协作系统特别喜欢:Wiki.Jira和Jenkins.对于Jenkins的搭建,之前<自动部署工具Jenkins>有过记录.这次,搭建一个Wiki,作为知 ...

  9. Altera Stratix IV Overview

    由于要开发基于DE4平台的应用,应该要了解一下该平台的芯片情况Stratix IV 具体型号为:Stratix IV EP4SGX230KF40C2 命名规范如下 官网资料为:https://www. ...

  10. Tomcat+Eclipse乱码问题解决方法

    概述 乱码问题是大家在日常开发过程中经常会遇到的问题,由于各自环境的不同,解决起来也费时费力,本文主要介绍一般性乱码问题的解决方法与步骤,开发工具采用Eclipse+Tomcat,统一设置项目编码UT ...