SQL SERVER 获得日期时间
来源:互联网 发布:mac os 10.9系统下载 编辑:程序博客网 时间:2024/05/29 13:02
1.获取当前年份:
SELECT CONVERT(INT,DateName(year,GetDate()))
-----------------------------华丽的分割线---------------------------------
2.获取当前月份
SELECT CONVERT(INT,DateName(month,GetDate()))
-----------------------------华丽的分割线---------------------------------
注释:DATENAME函数用法:
在SQL数据库中,DATENAME函数的作用是是从日期中提取指定部分数据,比如我们想得到当前日期中的年份,月份等信息,就可以使用该函数.返回类型是nvarchar.
具体的语法如下:
DATENAME(param,date);
param是指定要返回日期部分的参数,包括下面几种:
date就是指定的日期.
例子:
select DATENAME(year,getdate()) as 'YEAR'
执行上面的SQL语句就会看到返回值为 '2006'
-----------------------------华丽的分割线---------------------------------
3.获取前一天(昨天)开始时间和结束时间
DECLARE @BeginTime DATETIME, @EndTim DATETIME, @StartDate1 DATE
SET @StartDate1=GETDATE();
SELECT @BeginTime=DATEADD(DAY,-1,@StartDate1);
SET @EndTim=DATEADD(second,-1,CONVERT(DATETIME,@StartDate1));
SELECT @BeginTime,@EndTim,@StartDate1
结果:
2017-07-13 00:00:00.000 2017-07-13 23:59:59.000 2017-07-14
-----------------------------华丽的分割线---------------------------------
注释: DATEADD函数用法
DATEADD() 函数在日期中添加或减去指定的时间间隔
语法: DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
实例
假设我们有下面这个 "Orders" 表:
现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。
我们使用如下 SELECT 语句:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDateFROM Orders
结果:
-----------------------------华丽的分割线---------------------------------
4.获得当天开始时间和结束时间
SELECT CAST(CONVERT(VARCHAR(10),GETDATE(),120)+' 00:00:00' AS DATETIME)
SELECT CAST(CONVERT(VARCHAR(10),GETDATE(),120)+' 23:59:59' AS DATETIME)
-----------------------------华丽的分割线---------------------------------
5.获得当月的第一天开始时间和最后一天结束时间
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
结果:2017-07-01 00:00:00.000
SELECT DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,GETDATE())+1,0))
结果:2017-07-31 23:59:59.997
注意:要回去指定月的第一天开始时间和最后一天结束时间
将GETDATE()进行替换即可
-----------------------------华丽的分割线---------------------------------
6.获得当月天数:
SELECT 32-DAY(GETDATE()+32-DAY(GETDATE()))
-----------------------------华丽的分割线---------------------------------
7.查询指定年月的天数:
DECLARE @YearMonth VARCHAR(6)
SET @YearMonth = '201502' --查询2015年2月有多少天
SELECT DAY(DATEADD(MONTH,1,@YearMonth+ '01 ')-1)
-----------------------------华丽的分割线---------------------------------
8.获得指定年月的月第一天开始时间和最后一天开始时间
DECLARE @Year varchar(10),@Month varchar(10),@YearMonth varchar(20)
SET @Year = '2017'
SET @Month = '03'
SET @YearMonth = @Year + @Month
SELECT @Year + @Month
结果: 201703
SELECT CAST((LEFT(@YearMonth,4)+'-'+SUBSTRING(@YearMonth,5,LEN(@YearMonth))+'-'+'01') AS DATETIME)
结果: 2017-03-01 00:00:00.000
SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT(@YearMonth,4)+'-'+SUBSTRING(@YearMonth,5,LEN(@YearMonth))+'-'+'01') AS DATETIME)))
结果: 2017-03-31 00:00:00.000
-----------------------------华丽的分割线---------------------------------
-----------------------------华丽的分割线---------------------------------
-----------------------------华丽的分割线---------------------------------
--未完待续
阅读全文
1 0
- SQL SERVER 获得日期时间
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- sql server日期时间函数
- Jedis使用指南
- PAT 乙级 1019. 数字黑洞 (20)
- 系统集成项目管理工程师中高级一次通过经验之谈
- ECharts试用小记
- 有关ArrayList常用方法的源码解析
- SQL SERVER 获得日期时间
- 空心菱形与实心菱形
- manifold秒算刷机
- CPU卡指令返回错误集
- MyEclipse Spring开发教程:使用基本的Spring功能(四)
- 463. Island Perimeter
- Git详解之四 服务器上的Git
- thinkphp二维数组插入数据库
- Java_基础—LinkedList的特有功能