婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQLServer日期函數(shù)總結(jié)案例詳解

SQLServer日期函數(shù)總結(jié)案例詳解

熱門標(biāo)簽:實體店地圖標(biāo)注怎么標(biāo) 外呼系統(tǒng)會封嗎 萬利達(dá)綜合醫(yī)院地圖標(biāo)注點 地圖標(biāo)注如何弄全套標(biāo) 南京電銷外呼系統(tǒng)哪家好 股票配資電銷機(jī)器人 電銷機(jī)器人 深圳 在電子版地圖標(biāo)注要收費嗎 武漢AI電銷機(jī)器人

SQL Server發(fā)展至今,關(guān)于日期的格式的控制方法,有傳統(tǒng)的方法,比如CONVERT(),也有比較便利的新方法,比如FORMAT();同樣,關(guān)于日期的操作函數(shù),也分為傳統(tǒng)方法:DATEADD()等,也有便利的新方法:EOMonth()等。

一,日期的格式化

格式化是指把日期類型(Date)、日期和時間類型轉(zhuǎn)化為字符類型,通常使用CONVERT()和FORMAT()函數(shù)。

1,傳統(tǒng)的CONVERT()

SQL Server控制日期的的顯示格式,通常使用CONVERT()函數(shù),通過控制style參數(shù)來控制日期顯示的格式,但是,style很多,不利于記憶。

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

符合東方人閱讀習(xí)慣的style及其顯示格式如下:

  • 101: mm/dd/yyyy
  • 110: mm-dd-yyyy
  • 111: yyyy/mm/dd
  • 112: yyyymmdd
  • 120: yyyy-mm-dd hh:mm:ss
  • 121: yyyy-mm-dd hh:mm:sssssss

CONVERT()函數(shù)的style是數(shù)字,記憶起來比較困難,并且只能按照系統(tǒng)定義的格式來顯示,不夠靈活。SQL Server提供更為靈活的轉(zhuǎn)換函數(shù)FORMAT()。

2,便利的FORMAT()函數(shù)

FORMAT()函數(shù),可以方便和靈活地控制數(shù)值、日期和時間類型的顯示格式,通常情況下,F(xiàn)ORMAT()函數(shù)主要用于格式化顯示date/time類型和數(shù)值類型,參數(shù)format用于指定顯示的格式,給予用戶對格式更自由地控制,culture參數(shù)是可選的,用于指定顯示的語言,該函數(shù)返回值的數(shù)據(jù)類型是NVARCHAR,如果格式轉(zhuǎn)換失敗,該函數(shù)返回NULL:

FORMAT ( value, format [, culture ] )

參數(shù)format使用#表示一個數(shù)值,參數(shù) format 使用以下占位符來表示日期/時間的格式:

  • yyyy、MM、dd:表示年、月、日
  • hh:mm:ss fffffff:表示時、分、秒、毫秒
  • 使用“/”,“-”等作為連接各個部分(part)的分割符號

(1)把date/time格式化

在format參數(shù)中指定日期/時間顯示的格式,以特定的格式: “yyyy:MMdd hh:mm:ss fffffff” 顯式日期/時間,例如:

select format(SYSDATETIME(),'yyyy-MM-dd hh:mm:ss fffffff')

(2)轉(zhuǎn)換數(shù)值類型

在參數(shù)format中使用#代表一個數(shù)字,使用相應(yīng)的連接符,拼接成數(shù)字的格式字符,例如:

FORMAT(123456789,'###-##-####') AS 'Custom Number Result

二,日期和時間的結(jié)構(gòu)

常用的日期的構(gòu)成(datepart)是:year、month、day、hour、minute、second、ns、TZoffset(簡寫為 tz)

DATEPART ( datepart , date ) 
YEAR ( date )  
MONTH ( date )  
DAY ( date ) 

在實際的產(chǎn)品環(huán)境中,周、季度等都很有用途:

  • quarter:季度,取值范圍是 1、2、3、4
  • week:周在年中的序數(shù),取值范圍是 1 - 53
  • dayofyear:天在年中的序數(shù),取值范圍是 1 - 366
  • weekday:天在一周中的序數(shù),取值范圍是 1 - 7

DATEPART()返回的datepart是int類型,如果想要返回字符類型,可以使用DATENAME()函數(shù):

DATENAME ( datepart , date )

通過datepart來構(gòu)造日期,常用的函數(shù)有:

DATEFROMPARTS ( year, month, day )
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision ) 
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

參數(shù)precision 是指小數(shù)秒的精度,指的是DateTime2(n)、DateTimeOffset(n),Time(n)中的n值,表示以多少位小數(shù)表示1s。

三,日期操作

日期函數(shù):EOMonth、Format、DateAdd、DateDiff、SwitchOffset

1,月份的最后一天

函數(shù) EOMonth() 返回指定日期的最后一天

EOMONTH ( start_date [, month_to_add ] )

參數(shù)注釋:

  • start_date: 有兩種輸入方式,能夠轉(zhuǎn)換為Date的字符串類型 和 date 數(shù)據(jù)類型
  • month_to_add: 是int 類型,能夠為正整數(shù),負(fù)整數(shù)和0,默認(rèn)值是0,如果省略,那么使用默認(rèn)值0。

例如,查看當(dāng)前月的最后一天、下一個月的最后一天、上一個月的最后一天:

declare @date date
set @date=getdate()

select EOMONTH(@date) as CurrentMonth_EndDay,
    EOMONTH(@date,1) as NextMonth_EndDay,
    EOMONTH(@date,-1) as LastMonth_EndDay

2,月份的第一天

使用DateFromParts() 函數(shù),能夠從3個正整數(shù)(year,month,day)中獲取date 類型,只需要將day 參數(shù)設(shè)置1,就能獲取月份的第一天的日期。

declare @date date
set @date=getdate()

select DATEFROMPARTS(year(@date),month(@date),1)

也可以使用Format() 函數(shù), 以字符串形式返回月份的第一天,例如,獲取當(dāng)前月份的第一天:

FORMAT(GETDATE(),'yyyyMM01')

3,切換時區(qū)

把DateTimeOffset類型的數(shù)據(jù)切換到指定的時區(qū),在轉(zhuǎn)換過程中,UTC時間是固定的,依據(jù)固定的UTC時間,切換到特定時區(qū)的本地時間:

SWITCHOFFSET ( DATETIMEOFFSET, time_zone )

參數(shù)注釋:

  • DATETIMEOFFSET:DateTimeOffset(n)類型的變量
  • time_zone:指定的目標(biāo)時區(qū)數(shù)據(jù),格式是  [+|-] hh:mm

使用SwitchOffset()函數(shù)把DateTimeOffset的時區(qū)偏移(Offset)切換到指定的時區(qū)中,例如,把本地時間的時區(qū)東八區(qū)切換到東七區(qū):

DECLARE @remote DATETIMEOFFSET 
DECLARE @local DATETIMEOFFSET
SET @local = SYSDATETIMEOFFSET()
SET @remote = SWITCHOFFSET (@local, '+07:00')
SELECT @remote AS remote_time,@local AS local_time

可以看到,東7區(qū)的時間比東8區(qū)的時間晚一個小時。

4,當(dāng)前日期是周幾

在SQL Server中,通過DataFirst選項設(shè)置一周的第一天,序數(shù)是從1到7,表示一周的7天。

SET DATEFIRST { number | @number_var }

(1)可以通過@@datefirst來獲取設(shè)置的值

set DATEFIRST 1
select @@datefirst

(2)使用函數(shù)datepart函數(shù)獲取當(dāng)天是周幾

set DATEFIRST 1
select datepart(WEEKDAY,getutcdate())

set DATEFIRST 2
--select @@datefirst
select datepart(WEEKDAY,getutcdate())

由于設(shè)置不同的DateFirst,會導(dǎo)致datepart返回不同的數(shù)值,所以必須借助@@DateFirst

set DATEFIRST 2
select Datepart(weekday, getdate()+@@datefirst - 1)

set DATEFIRST 1
select Datepart(weekday, getdate()+@@datefirst - 1)

4,使用DateName獲取WeekDay的名字

WeekDay的名字跟系統(tǒng)的語言設(shè)置有管,跟DateFirst的設(shè)置沒有關(guān)系

(1) 查看當(dāng)前的語言設(shè)置

select @@language

(2) 查看系統(tǒng)支持的語言

select alias,name, * 
from sys.syslanguages

(3) 設(shè)置語言

set LANGUAGE 'Simplified Chinese'
set LANGUAGE 'us_english'

(4) 使用DateName獲取WeekDay的名字

set LANGUAGE 'Simplified Chinese'
select  DATENAME(WEEKDAY,getutcdate())

set LANGUAGE 'us_english'
select  DATENAME(WEEKDAY,getutcdate())

四. 日期函數(shù)

sqlserver_時間格式化_年月日

函數(shù)名稱 參數(shù) 示例 說明

dateadd(日期部分,數(shù)字,日期)

select dateadd(year,45,'1990-12-11') 返回 2035-12-11 00:00:00.000
select dateadd(month,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(mm,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(qq,12,'1990-12-11') 返回 1993-12-11 00:00:00.000
select dateadd(hh,12,'1990-12-11') 返回 1990-12-11 12:00:00.000
select dateadd(yy,-12,'1990-12-11') 返回 1978-12-11 00:00:00.000

返回給指定日期加上一個時間間隔后的新的日期值。
數(shù)字:用于與指定的日期部分相加的值。如果指定了非整數(shù)值,則將舍棄該值的小數(shù)部分,舍棄時不遵循四舍五入。
日期:指定的原日期
在此函數(shù)中 :dw,dy,dd 效果一樣都表示天

datediff(日期部分,開始日期,結(jié)束日期)

select datediff(yy,'1990-12-11','2008-9-10') 返回 18
selectdatediff(mm,'2007-12-11','2008-9-10') 返回 9

返回兩個指定日期的指定日期部分的差的整數(shù)值。
在此函數(shù)中dw,dy,dd 效果一樣都表示天

datename(日期部分,日期)

select datename(mm,'2007-12-11') 返回 12
select datename(dw,'2007-12-11') 返回星期二
select datename(dd, ‘2007-12-11') 返回 11
select datename(wk, ‘2007-12-11') – 50 一年中的第幾個星期
select datename(dy, ‘2007-12-11') – 345 一年中的第幾天
select DATENAME(YYYY,GETDATE()) + DATENAME(MM,GETDATE()) – 201803

返回表示指定日期的指定日期部分的字符串。

dw 表示一星期中星期幾
wk 表示一年中的第幾個星期
dy 表示一年中的第幾天

datepart(日期部分,日期)

select datepart(mm,'2007-12-11')返回 12
select datepart(dw,'2007-12-11')返回 3
select datepart(dd, ‘2007-12-11')返回 11
select DATEPART(YYYY,GETDATE()) + DATENAME(MM,GETDATE()) – 2021

返回表示指定日期的指定日期部分的整數(shù)。

wk 表示一年中的第幾個星期
dy 表示一年中的第幾天,
dw 表示一星期中星期幾,返回整數(shù)默認(rèn) 1 為星期天

getdate()無參數(shù)

select getdate() 返回 2222-02-22 12:34:19.070

返回當(dāng)前系統(tǒng)日期和時間。

getutcdate()無參數(shù)

select getutcdate() 返回2222-02-22 04:34:19.073

返回表示當(dāng)前的UTC(世界標(biāo)準(zhǔn)時間)時間。即格林尼治時間(GMT)

1、上月的第一天

SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)

2、上月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'

3、本月的第一天

SELECT CONVERT(CHAR(10),DATEADD(dd,-DAY(GETDATE())+1,GETDATE()),111)

4、本月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)),111)+' 23:59:59'

5、來月的最后第一天

SELECT CONVERT(CHAR(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)

6、來月的最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0)),111)+' 23:59:59'

日期部分  含義 :

縮寫year年yy,yyyy
quarter季qq,q
month月mm, m
dayofyear天(請看函數(shù)中的說明)dy, y
day天(請看函數(shù)中的說明)dd, d
week星期wk, ww
weekday天(請看函數(shù)中的說明)dw, w
hour小時hh
minute分鐘mi, n
second秒ss, s
millisecond毫秒ms

==================================================

Sql Server 查詢指定范圍(一周,一月,本周,本月等)內(nèi)的數(shù)據(jù)

1.查詢今日的所有數(shù)據(jù)

select * from 表名 where datediff(day,字段名,getdate())=0

2.查詢昨日的所有數(shù)據(jù)

select * from 表名 where datediff(day,字段名,getdate()-1)=0

3.查詢當(dāng)天日期在一周前的數(shù)據(jù)

selcet * from 表名 where datediff(week,字段名,getdate()-1)=0

4.查詢前30天的數(shù)據(jù)

select * from 表名 where datediff(d,字段名,getdate())=30

5.查詢上一個月的數(shù)據(jù)

select * from 表名 where datediff(m,字段名,getdate())=1

6.查詢當(dāng)天的數(shù)據(jù)

select * from 表名 where datediff(dd,字段名,getdate())=0

7.查詢24小時內(nèi)的數(shù)據(jù)

select * from 表名 where datediff(hh,字段名,getdate())

8.查詢本周的數(shù)據(jù)

select * from 表名 where datediff(week,字段名,getdate())=0

9.查詢本月的數(shù)據(jù)

select * from 表名 where datediff(month,字段名,getdate())=0

10.查詢本季的數(shù)據(jù)

select * from 表名 where datediff(qq,字段名,getdate())=0

到此這篇關(guān)于SQLServer日期函數(shù)總結(jié)案例詳解的文章就介紹到這了,更多相關(guān)SQLServer日期函數(shù)總結(jié)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQLServer 日期函數(shù)大全(小結(jié))
  • SQLserver中用convert函數(shù)轉(zhuǎn)換日期格式的方法
  • SqlServer中的日期與時間函數(shù)
  • Sqlserver 常用日期時間函數(shù)

標(biāo)簽:臺州 濟(jì)寧 武威 安徽 廣東 泰安 汕頭 濟(jì)源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQLServer日期函數(shù)總結(jié)案例詳解》,本文關(guān)鍵詞  SQLServer,日期,函數(shù),總結(jié),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQLServer日期函數(shù)總結(jié)案例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQLServer日期函數(shù)總結(jié)案例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    www.日韩在线| 欧美日韩亚洲另类| 国产在线精品一区二区| 经典三级一区二区| 成人av在线电影| 91黄色小视频| 7777精品伊人久久久大香线蕉超级流畅 | 美女在线观看视频一区二区| 久久成人久久鬼色| 91在线精品一区二区| 日韩一区二区三区电影| **性色生活片久久毛片| 麻豆精品久久久| 色偷偷久久人人79超碰人人澡| 欧美一区三区二区| 亚洲视频 欧洲视频| 日韩不卡一区二区| 91在线无精精品入口| 欧美一二三区在线观看| 亚洲欧美日韩国产中文在线| 另类中文字幕网| 色香蕉成人二区免费| 久久久国产午夜精品| 亚洲成人精品一区| 成人app下载| 欧美r级电影在线观看| 亚洲国产人成综合网站| 福利一区二区在线| 欧美性生交片4| 18成人在线视频| 国产精品正在播放| 日韩欧美国产综合一区| 一区二区三区在线视频观看58| 国产一区二区免费在线| 91精品国产综合久久久蜜臀粉嫩| 亚洲特级片在线| 国产suv一区二区三区88区| 欧美一区二区三区四区视频| 亚洲综合色在线| 91网站在线播放| 亚洲欧洲成人精品av97| 国产美女一区二区| 欧美不卡一二三| 日韩电影在线观看电影| 欧洲色大大久久| 亚洲三级免费观看| 成人动漫在线一区| 国产精品国产三级国产aⅴ入口 | 日韩理论电影院| heyzo一本久久综合| 国产欧美日韩在线视频| 丁香激情综合国产| 中文一区二区完整视频在线观看| 国产制服丝袜一区| www欧美成人18+| 国产馆精品极品| 国产精品久久久一本精品| 国产成人亚洲综合a∨猫咪| 久久精品视频在线免费观看| 国产乱码精品一区二区三区av| 久久影院视频免费| 国产乱码字幕精品高清av| 久久蜜桃一区二区| 99久久精品一区| 一区二区三区中文字幕精品精品 | 亚洲在线视频网站| 欧美日韩国产片| 日本成人在线看| 欧美日韩大陆在线| 日韩激情中文字幕| 日韩一区二区三区在线视频| 国模大尺度一区二区三区| 久久精品免视看| 不卡的av电影| 亚洲免费在线看| 欧美男同性恋视频网站| 国产综合久久久久久鬼色| 欧美成人一区二区三区片免费 | 色94色欧美sute亚洲线路二| 亚洲一级在线观看| 欧美一区二区三区视频免费| 国产一区二区三区四区五区入口| 国产欧美日韩在线看| 91福利精品第一导航| 秋霞午夜鲁丝一区二区老狼| 国产欧美精品区一区二区三区 | 欧美片网站yy| 国产精品一区在线观看乱码| 亚洲免费色视频| 精品伦理精品一区| av一本久道久久综合久久鬼色| 亚洲国产综合色| 久久色中文字幕| 91在线小视频| 久久精品国产第一区二区三区| 欧美国产禁国产网站cc| 欧美色图免费看| 国产91精品免费| 日韩精品91亚洲二区在线观看| 国产精品视频一区二区三区不卡| 欧美婷婷六月丁香综合色| 精品亚洲国产成人av制服丝袜| 亚洲欧美日韩国产手机在线| 日韩欧美亚洲国产另类| 成人精品在线视频观看| 午夜精品久久久久久久99樱桃| 久久影视一区二区| 欧美老肥妇做.爰bbww视频| 国产白丝精品91爽爽久久| 免费成人av在线| 亚洲综合久久av| 国产亚洲精品aa午夜观看| 精品婷婷伊人一区三区三| 国产精品亚洲第一区在线暖暖韩国| 亚洲综合成人在线视频| 国产精品视频免费看| 精品国产乱子伦一区| 91福利资源站| 国产精品白丝jk白祙喷水网站| 中文文精品字幕一区二区| 色狠狠综合天天综合综合| 久久精品国产网站| 一级女性全黄久久生活片免费| 欧美一级免费大片| 99这里都是精品| 免费观看一级特黄欧美大片| 亚洲私人黄色宅男| 久久婷婷色综合| 337p亚洲精品色噜噜狠狠| 成人av电影在线| 免费高清在线一区| 亚洲视频中文字幕| 中文字幕欧美一区| 国产精品成人一区二区三区夜夜夜| 国产日产精品1区| 国产欧美一区二区三区在线看蜜臀 | 国产日韩av一区| 国产肉丝袜一区二区| 久久青草国产手机看片福利盒子 | 亚洲综合一区在线| 99综合影院在线| 91网上在线视频| 日本道色综合久久| 欧美性色黄大片| 在线不卡中文字幕播放| 欧美日韩国产美| 日韩区在线观看| 久久综合av免费| 欧美激情中文字幕一区二区| 国产精品午夜免费| 综合久久给合久久狠狠狠97色| 亚洲欧美日韩一区二区 | 99久久精品国产网站| 91免费版在线看| 欧美色爱综合网| 欧美一区二区三区公司| 精品嫩草影院久久| 国产精品网站在线| 亚洲综合成人在线视频| 奇米在线7777在线精品| 国产精品一卡二卡| 色综合久久久久综合| 欧美精品视频www在线观看| 精品sm捆绑视频| 亚洲日本在线天堂| 蜜桃久久久久久| 粉嫩绯色av一区二区在线观看| fc2成人免费人成在线观看播放| 一本在线高清不卡dvd| 欧美美女喷水视频| 精品国产乱码久久久久久牛牛| 亚洲天堂精品在线观看| 日韩国产欧美三级| 国产福利精品一区| 欧美日韩一区二区电影| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲精品高清在线| 奇米影视一区二区三区| 成人免费视频免费观看| 欧美最猛性xxxxx直播| 久久先锋影音av鲁色资源网| 亚洲欧洲另类国产综合| 狂野欧美性猛交blacked| 91免费看`日韩一区二区| 日韩女优毛片在线| 依依成人综合视频| 国产69精品一区二区亚洲孕妇| 欧美无砖砖区免费| 国产欧美视频在线观看| 日韩和欧美一区二区| 91视频免费播放| 久久综合久久综合久久| 午夜精品久久久久久久久久 | 99在线精品观看| 欧美精品久久一区| 亚洲免费av高清| 国产成a人亚洲精品| 这里只有精品视频在线观看| 亚洲欧美日韩电影| 成人av片在线观看|