456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > IT知識庫 >

艾銻知識 | SQL Server 日期和時間的內部存儲過程


2020-03-08 19:00 作者:艾銻無限 瀏覽量:

無企業,不上云
 
 
 
 
2015年我第一次參加阿里云杭州全球云棲大會時,看到的是驚喜和無限的可能性。
 
“2015杭州云棲大會”于10月14日至15日在杭州云棲小鎮如期召開。大會以“互聯網、創新、創業”為本屆主題,展現“互聯網+”時代下無處不在的云計算與各行各業的交錯連接,介紹云計算為產業升級和改革創新提供的源源動力,挖掘云計算助力下生生不息的創業激情和機遇。
 
2015年正式更名為“云棲大會”,阿里云的名字不再出現在會議名稱中,而是更加強調云計算、大數據生態的定位。量子計算、人工智能、生物識別、深度學習等前沿的科技創新力量首次在大會亮相。大會吸引了全球超過20個國家的21500名開發者,參展企業達到219家,參與企業3000多家,現場參觀超過42584人次,全球直播收看人數超過127萬人,成為全球最大規模的云計算峰會之一。
 
走進會場別開生面,豐富多彩,讓人忘掉了科技的冰冷,就像走進了游樂園,有運動,有演出,有游戲,有展示,有互動,4萬多人把整個會場擠得水泄不通,來自全球的技術愛好者,企業家,科學家,政府官員,阿里云的合作伙伴,競爭對手,閑雜人等五花八門,你能想到的人都聚齊了。
 
甚至還有票販子,是什么吸引了各路好漢齊聚一堂,擠破頭也要參加一場聽起來非常專業性的云棲大會呢?
 
除了上面說的阿里云的技術能力和運營能力以外,其實還有一個非常重要的原因,就是能親眼見到馬云馬老師,甚至還能有機會與他零距離接觸.
 
從2015到2018年,在這四年中馬老師每年都會參加杭州云棲大會的分享,而且還會出現在云棲現場的不同地方,這讓很多喜歡馬老師的伙伴興奮極了,你想你一生能有幾次親眼見到“外星人”呢.


 

 
2015年他在主會場20分鐘的分享表達了一個重要的觀點,就是在未來5年無企業,不上云。上云是企業戰略而不是戰術,未來是一個萬物互聯的時代,只有那些在云上的企業才能快速有效的抓住時代變化的先機,才能使用計算的能力,才能利用好數據的價值.
 
當時聽了馬老師的演講,我當刻就決定了和阿里云的合作,讓艾銻無限成為了阿里云的戰略合作伙伴,和阿里云一起為中小企業提供上云解決方案服務。
 
四年多過去了,馬老師當年說無企業,不上云,如今,如果你不知道云,你的企業沒有用云,可能你在這次的疫情中根本就沒有戰斗力,你都不知道別人企業是如何贏得這次疫情戰斗勝利的.
 
企業上云不僅能為企業節省70%以上的成本,更能為企業提升500%以上的效率,甚至它的有些價值是無法計算的,這些年艾銻無限為上千家企業提供了上云服務,親身經歷了有一些企業上云變革后帶來的增長和變化,我記得服務了一家裝修行業的領頭企業,在2016年這家企業因人員場地和機房成本,讓這家公司舉步維艱,離破產僅一步之遙,我和這家企業的CEO是好朋友,有一天我去看他,聽到他和我分享現在遇到的巨大困境,我問了他幾個關鍵的問題,最后確認了是成本不斷提升,業績卻沒有提高,效率低下從而導致企業經營困難,后來艾銻無限的云解決方案團隊幫助他出了三個解決方案:
 
把他們現有機房近百臺服務器遷到云上,釋放出近百平米的機房空間和硬件運維升級成本,因為云是彈性的,可以根據企業用量來支付費用,這一下就幫他們減輕了一年上百萬的硬件投入成本.
 
幫助他們打通各個管理系統,讓企業內部數據更透明,讓整體效率一下子就提升了上來,而且當他發現整個環節全部通透后,有1/3的人力是可以節省的,完全沒必要用這么多人,這一下讓他們每年節省了近200萬的人力支出,這就是科技的力量,雖然對失業的員工有些殘忍,但對與一家商業企業來說這是正確的選擇.
 
重建營銷系統,讓傳統的銷售模式重新變革,提升人員的產出比,讓全員進行銷售,整體銷售額提高了200%,這個時代職責和名稱將會越來越模糊,誰能為企業創造價值,誰就是企業最重要的員工.
 
大家可以想象一下,一家企業人員降低原來的1/3,但銷售額卻提升原來的兩倍,這意味著盈利能力和盈利水平呈指數級的增長,這就是變革后的成果.
 
無企業,不上云,你的企業上云了嗎?

 
如果你的企業還沒有下云也沒有關系,也許你的企業還沒有遇到挑戰,假如你有和我朋友同樣的困境,那不妨與艾銻無限的云工程師和技術專家聊一聊,說不定就讓你眼前一亮,打開了你遇到的限制和困境,從而讓你的企業邁上了生長的第二春。

艾銻知識 |SQL Server 日期和時間的內部存儲過程


在SQL Server的內部存儲中,日期和時間不是以字符串的形式存儲的,而是使用整數來存儲的。使用特定的格式來區分日期部分和時間部分的偏移量,并通過基準日期和基準時間來還原真實的數據。

一,DateTime的內部存儲

SQL Server存儲引擎把DateTime類型存儲為2個int32類型,共8個字節,第一個int32 整數(前4個字節)存儲的是日期相對于基準日期(1900-01-01)的偏移量。基準日期是1900-01-01,當前4 字節為0 時,表示的日期是1900 年1 月1 日。第二個int32整數(后4個字節)存儲的是午夜(00:00:00.000)之后的時鐘滴答數,每個滴答為1⁄300秒,精確度為3.33毫秒(0.00333秒,3.33ms),因此,DateTime能夠表示的時間,可能會存在一個滴答的時間誤差。


DateTime的內部存儲格式,用十六進制表示是:DDDDTTTT

DDDD:占用2個字節,表示對基準日期的偏移量

TTTT:占用兩個字節,表示對午夜之后的始終滴答數

舉個例子,對于如下的日期和時間,把DateTime類型轉換為大小為8個字節的16進制,每兩個數字對應1個字節:


1
2
3
declare @dt datetime = '2015-05-07 10:05:23.187'
select convert(varbinary(8), @dt) as date_time_binary
--output 0x0000A49100A6463C

1,拆分出date和time

把時間的二進制格式中的字節拆分成兩部分:前4個字節表示date,后4個字節表示time,得出的結果如下:


1
2
3
4
5
6
declare @dt datetime = '2015-05-07 10:05:23.187'
 
select substring(convert(varbinary(8), @dt), 1, 4) as date_binary,
 cast(substring(convert(varbinary(8), @dt), 1, 4) as int) as date_int,
 substring(convert(varbinary(8), @dt), 5, 4) as time_binary,
 cast(substring(convert(varbinary(8), @dt), 5, 4) as int) as time_int;



 


2,通過偏移量還原日期和時間

通過基準時間和偏移量,把整數還原為原始的日期和時間:


1
2
3
4
5
declare @Time time='00:00:00.000'
declare @Date date='1900-01-01'
 
select dateadd(day, 42129, @Date) as originl_date
 , dateadd(ms,10896956*10/3, @Time) as original_time


 

二,DateTime2的內部存儲

DateTime2(n)數據類型存儲日期和時間,它是DateTime的升級版本,由于小數秒n的精度可以自主設置,其存儲大?。⊿torage Size)不固定,DateTime2(n)占用的存儲空間和小數秒的精度之間的關系是:

DateTime2(n)內部存儲的第一個字節存儲精度n,后續的字節用于存儲日期和時間的值。

當小數秒的精度 n < 3 時,總的存儲空間是1B(精度)+6 B(數據);

當小數秒的精度 n 是 3 - 4 時,總的存儲空間是1B(精度)+ 7B(數據);

當小數秒的精度 n 是 5 - 7 時,總的存儲空間是1B(精度)+ 8B(數據),最大的小數秒精度是7,默認值是7;

1,二進制逆序

在探索DateTime2(n)的內部存儲之前,先了解一下字節存儲的“小端”格式和“大端”格式:

大端格式:是指數據的低位保存在內存的高地址中,而數據的高位,保存在內存的低地址中;

小端格式:是指數據的低位保存在內存的低地址中,而數據的高位保存在內存的高地址中。

舉個例子,假如內存地址左邊是地位,右邊是高位,對于數字275,使用兩個字節來存儲:

如果采用大端格式:字節序列是0x0113

如果采用小端格式:字節序列是0x1301

DateTime2(n)的內部存儲格式使用的是小端格式,這種格式適合CPU的運算。

2,DateTime2的存儲格式

DateTime2(n)的內部存儲格式是:

第一字節存儲的精度n,

后三個字節記錄從基準日期0001-01-01之后的多少天,采用小端格式。

中間余下的字節記錄子夜之后經過的時間單位間隔(time unit interval,TUI)的數量,采用小端格式。

TUI是由精度來控制的,每一個TUI是10的n次方之一秒,也就是:

對于 DateTime2(7),TUI是100ns;

對于 DateTime2(6),TUI是1微秒(=1000ns);

對于 DateTime2(5),TUI是10微秒;

對于 DateTime2(4),TUI是100微秒;

對于 DateTime2(3),TUI是1ms(1毫秒=1000微秒);
 
為了便于運算,把DateTime2(n) 的字節流逆序排列:前3個字節表示的是天數,最后一個字節表示的是精度,中間余下的字節表示的TUI的數量。例如,對于 DateTime2(7)按照字節流逆序處理之后,存儲空間是9個字節:前三個字節是存儲的從基準日期0001-01-01之后的多少天,最后一位是精度n,中間的5個字節表示從子夜開始有多少個TUI。

2,把DateTime2轉換為二進制存儲

把DateTime2轉換為二進制存儲,并作逆序處理,DateTime2(3)的精度為3,存儲空間是8個字節,后三個字節記錄從基準日期0001-01-01之后的多少天,前3個字節表示從子夜開始有多少個TUI。


1
2
3
4
declare @dt datetime2(3)='2015-05-07 10:05:23.187'
declare @dt_bi varbinary(max)=convert(varbinary(max), @dt)
select @dt_bi as date_time_binary
 ,convert(varbinary(max),reverse(@dt_bi)) as reverse_binary



 


把二進制值拆分成DateTime2(3)的各個組成成分:



1
2
3
4
5
6
7
8
9
10
11
declare @dt datetime2(3)='2015-05-07 10:05:23.187'
declare @dt_bi varbinary(max)=convert(varbinary(max), @dt)
declare @dt_bi_littleEnd varbinary(max)
select @dt_bi_littleEnd=convert(varbinary(max),reverse(@dt_bi))
 
select substring(convert(varbinary(8), @dt_bi_littleEnd), 1, 3) as date_binary,
 cast(substring(convert(varbinary(8), @dt_bi_littleEnd), 1, 3) as int) as date_int,
 substring(convert(varbinary(8), @dt_bi_littleEnd), 4, 4) as time_binary,
 cast(substring(convert(varbinary(8), @dt_bi_littleEnd), 4, 4) as int) as time_int,
 substring(convert(varbinary(8), @dt_bi_littleEnd), 8, 1) as precision_binary,
 cast(substring(convert(varbinary(8), @dt_bi_littleEnd), 8, 1) as int) as precision_int;



 


3,利用偏移量和基準還原原始值

有了偏移量,就可以在基準日期和時間之上加上偏移量來獲得原始值:


1
2
3
4
5
declare @Time time='00:00:00.000'
declare @Date date='0001-01-01'
 
select dateadd(day, 735724, @Date) as originl_date
 , dateadd(ms,36323187, @Time) as original_time


 


參考文檔:
What is the SQL Server 2008 DateTime2 Internal Structure?
How to Get SQL Server Dates and Times Horribly Wrong

總結
以上所述是小編給大家介紹的SQL Server 日期和時間的內部存儲,希望對大家有所幫助
 

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 久久久精品免费_99热3_91精品国产乱码久久久久久久久_最爽古装A片免费视频_色婷婷综合久久久久中国一区二区_午夜男女羞羞爽爽爽视频_国产中文字幕在线播放_欧美视频自拍 | 久草资源站_国产精品久久久久久久久久大牛_日本一区二区三区免费软件_不卡视频一区二区_嫩模被啪的呻吟不断_高清视频在线观看_无码人妻视频一区二区三区_黄色一级片免费网站 | 日韩中文字幕二区2017_精品人伦一区二区三区蜜桃视频_色爱区成人综合网_爱爱精品_欧美日本性视频_亚洲三级片福利视频_456成年女人免费视频_99久久精品久久久久久ai换脸 | 涩五月婷婷_国产精品多久久久久久情趣酒店_国产精品sm在线观看_free男子游泳部第三季_热久久性_天天弄夜夜操_人人干日日操_龙珠z免费观看国语版 | 毛片av一区二区_成年女人18级毛片毛片免费_久久综合给合久久狠狠狠97色_国产疯狂伦交大片_嫩草伊人_国产精品jk在线观看_国产成人精品区一区二区不卡_乱人伦人妻中文字幕不卡 538国产精品一区二区在线_大陆av在线播放_麻豆传媒一区_91精品国产一区二区三区_亚洲艳妇_男女猛烈啪啪无遮挡激烈下香_久热在线观看视频_www·377黄·com | 国产一级片不卡_欧美操人_国产AV无码国产AV毛片_福利社一区_成人免费a级片_免费日本黄色片_亚洲一区二区视频在线观看_女人天堂在线a在线 | 欧美A级毛欧美1级A大片_国产日韩欧美一区二区三区乱码_国产精品全国免费观看高清_在线观看中文无码最新视频_男同GAY片AV网站猛男调教_久久精品国产免费看久久精品_少妇富婆一区二区三区夜夜_青草在线视频 | 无码专区永久免费AV网站_日本少妇被黑人xxxxx软件_狂野欧美激情性XXXX按摩_av喷水高潮喷水在线观看com_豆奶导航_中国av一级片_欧美一区二区三区国产精品_国产精品丝袜肉丝出水 | 国产专区亚洲精品无码_国产一级录像_18禁无遮挡无码啪啪网站_欧美人成片免费看视频_色哟哟亚洲精品一区二区_日本极品少妇videossexhd_亚洲精品在线免费看_在线观看一区 | 18禁止导深夜福利备好纸巾_国产福利视频奶水在线_国产V精品V欧美V日韩V_国产亚洲中字幕欧_四虎欧美_青青伊人久久_国产精品久久久久久白浆_黄色一类片 | 一本大道久久精品_国产网红无码精品视频_国产强伦姧人妻毛片_国产香蕉一区二区在线网站_天天舔日日操_最近中文字幕一区_精品无码中文字幕不卡_亚洲欧美校园 | 久久福利一区二区_91av网址_久草午夜_色综合伊人丁香五月桃花婷婷_日本人丰满XXXXHD_一本色道久久亚洲综合精品蜜桃_成人国产三级_欧美黑人牲交videossexeso | 自慰无码一区二区三区_插bb视频青春网站_人人爽久久涩噜噜噜丁香_91精品国产爱久久丝袜脚_手机午夜福利1000视频_大学生疯狂高潮呻吟免费视频_日本大片免费观看视频_色噜噜狠狠成人网p站 | 日韩一级大片_久久久久区_黄色大片一级片_国产成年无码V片在线_一级黄色伦理片_毛片女女女女女女女女女_成人免费在线_无码精品人妻一区二区三区九里奈 | 国产视频亚洲精品_国产久艹_美女爆乳裸体WWW免费网站_国产三级精品三级在专区_YY6080午夜福利理论中文_成全视频免费高清观看在线动漫_中文字幕色偷偷人妻久久_成人在线中文字幕 | 大陆极品少妇内射aaaaa_JLZZJLZZJLZ亚洲日本_亚洲欧美日本国产综合_色呦呦网站_国产91免费视频_日日夜夜操操操操_av资源免费观看_亚洲高清视频在线 | 涩五月婷婷_国产精品多久久久久久情趣酒店_国产精品sm在线观看_free男子游泳部第三季_热久久性_天天弄夜夜操_人人干日日操_龙珠z免费观看国语版 | 国内精品久久久久国产盗摄_国产免费一区二区在线a片视频_国产一区二区美女_无码精品人妻免费_午夜精品_91av久久_羞羞视频网站免费_精品在线免费看 | 中文日韩在线视频_无码毛片一级高潮免费视频_毛片黄片_国产成人在线网址_国产特级全黄一级毛片_免费观看在线毛片_人人妻人人澡人人爽超污_日韩欧美国产系列 | 水蜜桃免费视频_青青热久免费精品视频在线播放_在教室伦流澡到高潮h麻豆_外国特级免费片_久久婷婷一区_亚洲精品在线视频播放_a中文字幕_微拍福利88 | 毛片av一区二区_成年女人18级毛片毛片免费_久久综合给合久久狠狠狠97色_国产疯狂伦交大片_嫩草伊人_国产精品jk在线观看_国产成人精品区一区二区不卡_乱人伦人妻中文字幕不卡 538国产精品一区二区在线_大陆av在线播放_麻豆传媒一区_91精品国产一区二区三区_亚洲艳妇_男女猛烈啪啪无遮挡激烈下香_久热在线观看视频_www·377黄·com | 福利社午夜影院_婷婷色怡春院_精品国产肉丝袜久久_好紧好滑好湿好爽免费视频_久日av_9的国产精选久久_japan凌虐bdsm日本_超碰97人人做人人爱少妇 | AV永久天堂一区二区三区香港_精品成人乱色一区二区_亚洲av片毛片成人观看兔费_欧美精品一区二区三区A片_狠狠综合久久久久综合网址_国产精品12区_成人中文网_亚洲国产精品成人无码区 | 公交车上~嗯啊被高潮视频软件_伊人91_女人爽到高潮免费视频大全_黄色录像在线免费观看_亚洲欧美日韩中文加勒比_在线观看中出_青青久久av_国产亚州精品美女久久久免费 | 久久精品牌麻豆国产大山_亚洲AV无码AV男人的天堂不卡_5252aⅴ爱我愿haose016色_一本之道中文日本高清_黄色小说视频网_免费无码中文字幕A级毛片_国产做爰又粗又大的视频_激情综合色五月丁香六月亚洲 | 里番精品3d一二三区_日本草逼_亚洲AV无码专区日韩乱码_日韩视频中文字幕精品偷拍_日韩精品亚洲一区_91国内精品白嫩初高生_中文字幕免费久久_99久久久久久久 | 麻豆精品国产入口_日本一二三区不卡_在线免费黄_美女不带套日出白浆免费视频_国产精品盗摄久久久_日本中文字幕在线免费观看_国产一级一级_成人区一区 | 亚洲国产欧美一区二区三区久久_免费观看色视频_亚洲国产成人精品无色码_日日人人爽人人爽人人片AV_黄色激情网址_欧日韩精品_人妖啪啪综合av一区ts人妖_视频二区无码人妻在线 | 人妻无码αv中文字幕久久琪琪布_正在播放亚洲一区_日韩欧美在_狠狠色噜噜狠狠狠777米奇小说_婷婷综合基地俺也来_成人依依网_久久久这里有精品999_国产精品久久久久一区二区三区 | 成人xxxx视频_sm脚奴调教丨踩踏贱奴_久久国产精品久久久_成人免费视频www在线观看我_日本天堂一区二区_www.四虎影视.com_陌陌影视在线观看免费_国产一级淫片a免费播放口之 | 天天做天天爱天天操_日日噜噜大屁股熟妇_久草免费手机视频_国产国产成人久久精品_国产主播精品_久久午夜无码人妻鲁丝片午夜精品_一性一交一伦一色一按—摩_中文字幕成人网 | 免费动漫黄爽A片在线观看_一区精品视频_91在线无精精品秘?入口九色_av网站免费播放_亚洲综合无码精品一区二区三区_国产精品嫩草99a_av免费看国产_日韩αv在线 | 女人被躁到高潮免费视频_一区二区视频免费看_色噜噜狠狠色综合成人网_欧美成a人片在线观看久_国产日韩精品中文字无码_一级特级片_国产精品av久久久久久久久久_天堂8中文在线最新版在线 | 国产亚洲久_成人1区2区3区_99精品视频一区二区_四虎av永久免费观看_黄色毛片a级_色哟av_欧美日韩国产人妻无码_日韩不卡在线观看日韩不卡视频 | 久久影院午夜片一区_中文字幕+乱码+中文乱码_情侣偷拍久久_亚洲欧洲日韩淙合久久_被猛男伦流澡到高潮h麻豆_国产学生系列一区二区三区_99av精品孕妇在线_狠狠爱ADY亚洲色 | 日韩一二三区在线观看_肥白大屁股BBWBBWHD_久久国产福利国产秒拍_日本XXXX色视频在线播放_久久久久久久久久97_密桃视频成人免费_大白天情侣对白肉麻的很_免费播放一级毛片 | 天天操天天做_国产成年人免费视频_国产视频一区二区三区四区_草草草在线视频_明星ai换脸二三区入口_超碰97人人射妻_中文字幕无码人妻不卡_亚洲天堂av网 | 久久精品国内_亚洲欧美国产国产综合一区_亚洲精品mv在线观看_亚洲高清自拍_国产激情二区_亚洲VA在线VA天堂VA欧美VA_色久综合一二码_日韩aaaaaaa | 亚洲国产精品成人久久久_欧美一级淫_日韩av免费_欧美日韩在线一区二区三区_欧美精品一区二区久久久_亚洲第一成网站_www.youjizz.com日韩_精品国产乱码一区二区三区99 | 顶级少妇做爰高潮_91久久夜色精品国产按摩_色综合精品无码一区二区三区_国产精选一级毛片_亚洲中文有码字幕日本第一页_九九热在线观看_变态孕交videosgratis孕妇_日本少妇久久久 | 青天衙门第一部免费版_粉色视频成人免费观看_国产白嫩漂亮美女在线观看_亚州精品天堂中文字幕_中文字幕av三区_欧美日韩一级黄_一级做a爰片欧美激情床_国产精品二区视频 |