日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)

系統(tǒng) 2110 0

????? 現(xiàn)在忽然發(fā)現(xiàn)喜歡上了寫博客,讓博客記錄自己成長的點點滴滴,在書寫自己成長的同時,希望以后給那些像我一樣剛剛起步的童鞋們一點啟發(fā),避免犯同樣的錯誤。在看博客同時也希望一些高手對于文章中的問題有更好的解決方法,希望高手留下你們更好的解決方法。

?? 好了,不廢話了,開始今天的話題。最近時間剛從客戶端轉(zhuǎn)入后臺寫服務(wù),對于后臺數(shù)據(jù)庫以及服務(wù)的書寫完全是個小白,所以最近寫的肯定沒有太多技術(shù)含量。

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

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

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

先看一 下他們的語法

    
       CAST ( expression AS data_type [ ( length ) ] )
    
  

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

其中:

expression: 任何有效的表達式。
data_type 目標數(shù)據(jù)類型。 這包括 xml bigint sql_variant 不能使用別名數(shù)據(jù)類型。
length: 指定目標數(shù)據(jù)類型長度的可選整數(shù)。 默認值為 30。
style: 指定 CONVERT 函數(shù)如何轉(zhuǎn)換 expression 的整數(shù)表達式。 如果樣式為 NULL,則返回 NULL。 該范圍是由 data_type 確定的。
和本文相關(guān)的主要是length和expression,length是指目標類型的長度,用于限制時間的精度,expression是用來限定輸出時間的格式例如:yyyy/mm/dd/yyyy-mm-dd等。
express的相關(guān)的知識以及舉例使用可參考下這篇博文:
http://www.cnblogs.com/chuncn/archive/2008/04/30/1177767.html
現(xiàn)在就用這些知識解決我的我的問題,首先是按日統(tǒng)計上報量,精確到日 時間限制為:CONVERT(varchar(11) , ReportTime , 20 ) 即 yyyy-mm-dd
然后利用group by 問題就得到了解決,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 )


    

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

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

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

      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ù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用

好了,今天就到此為止吧,如果哪位大師有更好的方法,歡迎留言!!!

?

?

?

?

?

?

?

?

?

?

?

?

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 新巴尔虎左旗| 永德县| 石家庄市| 正蓝旗| 弥勒县| 泸定县| 三门峡市| 汝南县| 延边| 远安县| 洪泽县| 湟源县| 三亚市| 涞水县| 眉山市| 景谷| 湘西| 荆门市| 乌拉特后旗| 安西县| 嘉义市| 梁山县| 平舆县| 武义县| 娄烦县| 汝阳县| 台东市| 哈巴河县| 栖霞市| 太原市| 深州市| 米泉市| 海淀区| 莱州市| 明光市| 辉南县| 福清市| 庆阳市| 平度市| 汪清县| 芦山县|