码迷,mamicode.com
首页 > 数据库 > 详细

MS SQL Server中對日期的一些常用處理——持續更新

时间:2015-02-27 09:52:27      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

注:以下表達式中的0其實是表示日期1900-1-1

1.當天的零點

SELECT DATEADD(DAY,DATEDIFF(DAY,0,GETDATE()),0)

  以上DATEDIFF(DAY,0,GETDATE())表示先計算當天與1900-1-1之間相關的天數,假設這裏記為N天,然後再通過DATEADD計算1900-1-1加上N天就得出當天的日期,時間為零點。

2.當月的第一天

SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0

  原理同上,只是計算單位由DAY變成MONTH。

3.當月的最後一天

SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)-1

  原理是先計算出下個月的第一天,然後再減去一天。

4.今天是星期幾

 

SELECT DATENAME(WEEKDAY,GETDATE())
--輸出:星期五

 

5.今天是一周中的第幾天

SELECT DATEPART(DW,GETDATE())
--默認一周的開始是星期天,所以1表示星期天,7表示星期六

  但是可以通過以下語句來改變這個默認值,如以下修改一周的第一天為星期一:

SET DATEFIRST 1

  還可以通過以下語句查看當前的DATEFIRST的值:

SELECT @@DATEFIRST

 

 

 

 

 

 

MS SQL Server中對日期的一些常用處理——持續更新

标签:

原文地址:http://www.cnblogs.com/diuleiloumou/p/4302533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!