濮阳杆衣贸易有限公司

主頁 > 知識庫 > SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹

SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹

熱門標(biāo)簽:北京400電話辦理多少錢 美團(tuán)地圖標(biāo)注商戶認(rèn)證注冊 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 榕城市地圖標(biāo)注 電銷外呼系統(tǒng)軟件功能 承德地圖標(biāo)注公司名需要花錢嗎 慶陽地圖標(biāo)注 咸陽電腦外呼系統(tǒng)運(yùn)營商 怎么給高德做地圖標(biāo)注
最近時間剛從客戶端轉(zhuǎn)入后臺寫服務(wù),對于后臺數(shù)據(jù)庫以及服務(wù)的書寫完全是個小白,所以最近寫的肯定沒有太多技術(shù)含量。

首先把遇到的問題擺出來:還是那張錯誤上報(bào)表,字段主要有上報(bào)錯誤ID(ErrorID),上報(bào)人(ReportPerson),上報(bào)時間(ReportTime)精確到毫秒,現(xiàn)在要做的統(tǒng)計(jì)是:(1)統(tǒng)計(jì)一定時間內(nèi)【起止時間精確到毫秒】(beginTime,endTime)每個人每天上報(bào)的錯誤個數(shù)(2)統(tǒng)計(jì)一定時間內(nèi)【起止時間到精確到月】(beginTime,endTime)按月統(tǒng)計(jì)每個人上報(bào)的錯誤總數(shù)。

看到問題首先想到的是要group by ReportPerson,能將每個人的統(tǒng)計(jì)數(shù)據(jù)計(jì)算出來,但是還沒達(dá)到要求,還需要獲得每個人每天的統(tǒng)計(jì)數(shù)據(jù),對于我這樣的菜鳥來說就有點(diǎn)麻煩了,不知道該怎么下手了,在sql群里找了個高手,告訴需要把規(guī)定一下時間格式,然后把時間格式限定到天和月,這兩個問題就解決了。

上篇已經(jīng)將多個時間函數(shù)羅列了出來,現(xiàn)在就本文章中用到的CAST 和 CONVERT詳細(xì)介紹一下:

先看一下他們的語法:

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ù)類型長度的可選整數(shù)。 默認(rèn)值為 30。
style: 指定 CONVERT 函數(shù)如何轉(zhuǎn)換 expression 的整數(shù)表達(dá)式。 如果樣式為 NULL,則返回 NULL。 該范圍是由 data_type 確定的。
和本文相關(guān)的主要是length和expression,length是指目標(biāo)類型的長度,用于限制時間的精度,expression是用來限定輸出時間的格式例如:yyyy/mm/dd/yyyy-mm-dd等。

express的相關(guān)的知識以及舉例使用可參考下這篇博文:
https://www.jb51.net/article/33330.htm

現(xiàn)在就用這些知識解決我的我的問題,首先是按日統(tǒng)計(jì)上報(bào)量,精確到日 時間限制為:CONVERT(varchar(11) , ReportTime , 20 ) 即yyyy-mm-dd
然后利用group by 問題就得到了解決,sql 代碼為:
復(fù)制代碼 代碼如下:

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 )

執(zhí)行結(jié)果為:

還有一個問題是按月統(tǒng)計(jì)每個人上報(bào)錯誤量的統(tǒng)計(jì),只要將時間日期限定到月就好了,即:CONVERT(varchar(7) , ReportTime , 20 ) yyyy-mm 執(zhí)行sql語句為:
復(fù)制代碼 代碼如下:

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 )

執(zhí)行結(jié)果為:

好了,今天就到此為止吧,如果哪位大師有更好的方法,歡迎留言!??!
您可能感興趣的文章:
  • SQL SERVER中常用日期函數(shù)的具體使用
  • SQLServer 日期函數(shù)大全(小結(jié))

標(biāo)簽:呼和浩特 拉薩 昭通 上海 重慶 江蘇 貴州 新鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹》,本文關(guān)鍵詞  SQL,Server,日期,函數(shù),CAST,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    太康县| 灵川县| 石门县| 阿克苏市| 长兴县| 乐业县| 平凉市| 南康市| 湄潭县| 阳新县| 长春市| 麻阳| 阜阳市| 民丰县| 汝州市| 依兰县| 安乡县| 上思县| 辽中县| 顺昌县| 神农架林区| 四平市| 湘潭县| 三穗县| 惠水县| 天镇县| 石景山区| 农安县| 甘肃省| 德令哈市| 舒兰市| 兴海县| 醴陵市| 繁昌县| 晋江市| 高雄市| 海南省| 京山县| 锡林浩特市| 呼图壁县| 宿松县|