SQLServer日期函數(shù)CAST和CONVERT以及在業(yè)務(wù)中的使用是怎樣的

SQL Server日期函數(shù)CAST和CONVERT以及在業(yè)務(wù)中的使用是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)建站是一家專業(yè)提供石樓企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為石樓眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

最近時(shí)間剛從客戶端轉(zhuǎn)入后臺(tái)寫(xiě)服務(wù),對(duì)于后臺(tái)數(shù)據(jù)庫(kù)以及服務(wù)的書(shū)寫(xiě)完全是個(gè)小白,所以最近寫(xiě)的肯定沒(méi)有太多技術(shù)含量。 首先把遇到的問(wèn)題擺出來(lái):還是那張錯(cuò)誤上報(bào)表,字段主要有上報(bào)錯(cuò)誤ID(ErrorID),上報(bào)人(ReportPerson),上報(bào)時(shí)間(ReportTime)精確到毫秒,現(xiàn)在要做的統(tǒng)計(jì)是:

(1)統(tǒng)計(jì)一定時(shí)間內(nèi)【起止時(shí)間精確到毫秒】(beginTime,endTime)每個(gè)人每天上報(bào)的錯(cuò)誤個(gè)數(shù)

(2)統(tǒng)計(jì)一定時(shí)間內(nèi)【起止時(shí)間到精確到月】(beginTime,endTime)按月統(tǒng)計(jì)每個(gè)人上報(bào)的錯(cuò)誤總數(shù)。 

看到問(wèn)題首先想到的是要group by ReportPerson,能將每個(gè)人的統(tǒng)計(jì)數(shù)據(jù)計(jì)算出來(lái),但是還沒(méi)達(dá)到要求,還需要獲得每個(gè)人每天的統(tǒng)計(jì)數(shù)據(jù),把規(guī)定一下時(shí)間格式,然后把時(shí)間格式限定到天和月,這兩個(gè)問(wèn)題就解決了。 

現(xiàn)在就本文章中用到的CAST 和 CONVERT詳細(xì)介紹一下: 

先看一下他們的語(yǔ)法: CAST ( expression AS data_type [ ( length ) ] ) CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 其中: 

expression: 任何有效的表達(dá)式。 

data_type: 目標(biāo)數(shù)據(jù)類型。 

這包括 xml、bigint 和 sql_variant。 不能使用別名數(shù)據(jù)類型。 

length: 指定目標(biāo)數(shù)據(jù)類型長(zhǎng)度的可選整數(shù)。 默認(rèn)值為 30。 

style: 指定 CONVERT 函數(shù)如何轉(zhuǎn)換 expression 的整數(shù)表達(dá)式。 

如果樣式為 NULL,則返回 NULL。 該范圍是由 data_type 確定的。 

和本文相關(guān)的主要是length和expression,length是指目標(biāo)類型的長(zhǎng)度,用于限制時(shí)間的精度,expression是用來(lái)限定輸出時(shí)間的格式例如:yyyy/mm/dd/yyyy-mm-dd等。 

現(xiàn)在就用這些知識(shí)解決我的我的問(wèn)題,首先是按日統(tǒng)計(jì)上報(bào)量,精確到日 時(shí)間限制為:

CONVERT(varchar(11) , ReportTime , 20 ) 即yyyy-mm-dd 然后利用group by 問(wèn)題就得到了解決,sql 代碼為:

代碼如下: 

 select ReportPerson,CONVERT(varchar(11) , ReportTime , 20 ) as 'ReporTime', count(*) as reportTotal from PCR_ConstructInfo where (ReportTime>'2012-11-15 12:11:12.23')and (ReportTime<'2013-1-16 12:11:12.23') group by ReportPerson,CONVERT(varchar(11) , ReportTime , 20 )

還有一個(gè)問(wèn)題是按月統(tǒng)計(jì)每個(gè)人上報(bào)錯(cuò)誤量的統(tǒng)計(jì),只要將時(shí)間日期限定到月就好了,即:CONVERT(varchar(7) , ReportTime , 20 ) yyyy-mm 執(zhí)行sql語(yǔ)句為:

 代碼如下: 

 select ReportPerson,CONVERT(varchar(7) , ReportTime , 20 ) as 'ReportTime', count(*) as reportTotal from PCR_ConstructInfo where (ReportTime>'2012-11-1')and (ReportTime<'2013-2-1') group by ReportPerson,CONVERT(varchar(7) , ReportTime , 20 )

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)站標(biāo)題:SQLServer日期函數(shù)CAST和CONVERT以及在業(yè)務(wù)中的使用是怎樣的
網(wǎng)頁(yè)鏈接:http://bm7419.com/article24/geghce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、服務(wù)器托管、網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷外貿(mào)建站、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)