日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

中國專業(yè)IT外包服務(wù)

用心服務(wù)每一天
IT之道-艾銻知道

您當(dāng)前位置: 主頁 > 資訊動態(tài) > IT知識庫 >

艾銻知識 | SQL Server 日期和時間的內(nèi)部存儲過程


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

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


 

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

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

艾銻知識 |SQL Server 日期和時間的內(nèi)部存儲過程


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

一,DateTime的內(nèi)部存儲

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


DateTime的內(nèi)部存儲格式,用十六進(jìn)制表示是:DDDDTTTT

DDDD:占用2個字節(jié),表示對基準(zhǔn)日期的偏移量

TTTT:占用兩個字節(jié),表示對午夜之后的始終滴答數(shù)

舉個例子,對于如下的日期和時間,把DateTime類型轉(zhuǎn)換為大小為8個字節(jié)的16進(jìn)制,每兩個數(shù)字對應(yīng)1個字節(jié):


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

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


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,通過偏移量還原日期和時間

通過基準(zhǔn)時間和偏移量,把整數(shù)還原為原始的日期和時間:


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的內(nèi)部存儲

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

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

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

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

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

1,二進(jìn)制逆序

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

大端格式:是指數(shù)據(jù)的低位保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位,保存在內(nèi)存的低地址中;

小端格式:是指數(shù)據(jù)的低位保存在內(nèi)存的低地址中,而數(shù)據(jù)的高位保存在內(nèi)存的高地址中。

舉個例子,假如內(nèi)存地址左邊是地位,右邊是高位,對于數(shù)字275,使用兩個字節(jié)來存儲:

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

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

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

2,DateTime2的存儲格式

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

第一字節(jié)存儲的精度n,

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

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

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

2,把DateTime2轉(zhuǎn)換為二進(jìn)制存儲

把DateTime2轉(zhuǎn)換為二進(jìn)制存儲,并作逆序處理,DateTime2(3)的精度為3,存儲空間是8個字節(jié),后三個字節(jié)記錄從基準(zhǔn)日期0001-01-01之后的多少天,前3個字節(jié)表示從子夜開始有多少個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



 


把二進(jìn)制值拆分成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,利用偏移量和基準(zhǔn)還原原始值

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


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

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

相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: av久久网站_中文字幕永久免费_免费人成激情视频在线观看冫_狠狠丁香_久久伊人综合_色婷婷综合久久久中字幕精品久久_亚洲免费视频网址_深夜福利亚洲 | 国产精品自在拍视频首页_中文字幕乱码亚洲无线码按摩_成人激情视频在线观看_www.四虎com_国产在线视频99_2002亚洲精品真实在线_国产精选在线播放_色先锋影音岛国av资源 | 美女视频黄频A免费_含羞草官网在线观看免费视频_最好看的2018国语在线_欧美一级爱爱_办公室强伦片免费看_成人AV片无码免费天天看_日韩免费视频中文字幕_久久五十路丰满熟女中出 | 国产精品国产三级国产有见不卡_国产在线激情视频_免费精品国产人妻国语三上悠亚_中文字幕人妻熟女人妻A片_日本无码一区二区三区在线_黄色片视频国产_精品久久人人做人人爱_欧美性大战xxxxx久久久 | 亚洲欧美日本国产不卡_久久99精品久久久久_色蜜桃网_欧美一级片网站_国产精品区一区二区三_日日噜噜噜夜夜爽爽狠狠视频97_欧美在线一区二区_日本少妇重口xxxx | 亚洲av无码国产一区二区_热99RE久久精品_一本一道波多野结衣AV一区_久热精品国产_视频丨9l丨白浆_久久九九精品视频_日韩免费av乱码高清专区_亚洲激情欧美 | 人人妻人人妻人人妻碰碰_国产精品免费一级在线观看_亚洲色无码中文字幕YY51999_亚洲综合二_狠狠躁夜夜躁人人爽天天不卡_亚洲综合日韩中文字幕_国产精品福利啪在线观看_伊人久综合 | 久久精品.com_色综合天天色_99手机在线视频_哈哈哈哈哈第4季免费视频高清_日本精品在线一区_亚洲成人黄色_91热爆视频_成视频免费在线 | 久久婷婷人人澡人人爽人人喊_亚洲中文欧美日韩在线观看_一本一道波多野结衣一区_青青视频一区_国产精品视频免费一区_在线免费亚洲_国精产品一区一区三区在线观看_日日噜噜夜夜狠狠久久丁香五月 | 久久99精品久久久久久秒播放器_福利社区一区二区_国产精品一区二区av交换_成年人免费视频_欧美日韩亚洲在线_jj男色网_热re99久久精品国产99热_国产欧美另类久久久精品 | 亚洲欲色欲色xxxxx在线观看_亚洲国产视频精品_国产精品亚洲视频_久久精品男女_国产国产成年年人免_亚洲精品无码久久久久久_影视免费观看_一边吃奶一边摸做爽视频 | 青青青国产精品一区二区_97人人爽人人喊人人模波多_三级免费网址_黄色片aaaa_四虎av成人_欧美大片一区_日韩精品无码区免费专区_91污免费 | 最新综合精品亚洲网址_粉嫩绯色av一区二区在线观看_91视频插插插_日日操爱视频_久久精品牌麻豆国产大山_久久精品视频网_日韩精品一区二区在线观看视频_亚洲精品一区二区三天美 | 国产10000部拍拍拍免费视频_免费观看av的网址_亚洲国产精品无码久久一线_男男高肉H视频无码网址_国产亚洲第一页_免费看操_午夜dj在线观看免费视频www_欧美男人天堂网 | 老赵揉着粉嫩的双乳小说_在线观看无码AV免费不卡软件_日日爽视频_久久蜜臀_免费大黄网站在线观_久热精品在线中文字幕播放_欧美一级理论性理论a_色婷婷综合久久久久中文一区二区 | 欧美激情在线一区_成人国产精品视频_中文字幕日韩人妻在线视频_不卡视频国产_91久久在线观看_china直男gay国产_日本黄色影院在线观看_96自拍视频 | 91精品国产综合久久久久影院不卡_国产精品成人一区二区_中文字幕AV一区乱码_九色tm视频_极品白浆_呻吟求饶的人妻中文字幕_中文字幕丰满伦孑_国产精品手机免费 | av免费网页_久久久无码a片观看免费_亚洲做爰日本做爰_7799精品天天综合网_97精品在线播放_99热手机在线_亚洲色图啪啪_日韩欧美在线中文字幕 | 黄色在线观看污_暴力强奷在线播放无码_www.九九精品_色免费在线观看_www麻豆_公侵犯美丽人妻HD_xxxwww高潮视频hd_国产成人精选在线不卡 | 女同免费观看码_法国精品熟妇多毛bhd_国产精品伊人影院_国产精品∧V在线观看_日本肥老太肥506070_国产精品久久久久久婷婷_谁有毛片_四虎影视免费观看 | 99视频网站_精品久久亚洲中文字幕_亚洲不卡高清免V无码屋_久久精品日_午夜美女国产毛片福利视频_free欧美日韩免费在线观看_久久久久久亚洲精品不卡4k岛国_涩涩小视频 | 一本大道久久a久久综合婷婷_国产aⅴ无码专区亚洲av麻豆_精品第一国产综合精品蜜芽_亚洲人视频_九九热视频免费_成人福利av_一级免费观看_亚洲不卡一区二区三区四区 | 性色av蜜臀av色欲av_脱了老师内裤猛烈进入的软件_中文亚洲AV片在线观看无码_a毛片视频_日韩视频在线观看一区二区三区_av大片在线无码免费_理论片91_99精品全国免费观看视频 | 大地资源影视中文二页_美女黄网站人色视频免费_精品一二三区_国产在线aaa片一区二区99_日韩无码偷拍中文字幕_欧洲激情网_在线观看麻豆国产成人AV在线播放_国产日韩亚洲 | 99精品在线看_国产精品黑色蕾丝丁字裤_亚洲国产成人五月综合网_一区二区久久久_福利免费视频_久久青草av_人妻系列无码专区无码中出_芭乐草永久视频在线观看 | JAPANESEHD熟女熟妇伦_日韩激情一区二区_综合另类_黑人刚破完处就三P_国产区视频在线播放_日本黄色片视频_日韩一区二区三区影院_男人进去女人爽免费视频" | jizzjizz欧美69巨大_久久青色_日韩一区二区三区精品视频第3页_久久九七_国产精品久久毛片A片_日韩精品中文字幕在线_97久久精品久久免费观看_天堂在线资源中文在线观看 | 欧美人与动牲交A免费观看_一本色道综合久久亚洲精品_变态孕交videosgratis孕妇_国模无码视频一区二区三区_无码精品人妻一区二区三刘亦菲_一级片视频播放_一级成人毛片_FUCK东北老女人HD对话 | 国产成人无码av一区二区在线观看_91久久爽久久爽爽久久片_天天天天天干_97超超碰_精品无码久久久久国产_欧美不卡中文字幕一区二区_国产伦精品一区二区三区妓女_日本高清免费视频 | 色偷偷亚洲第一综合网_在线观看的片www免费观看_爆乳一丝丝不挂裸体大胸美女_相泽南亚洲一区二区在线播放_美女裸体无遮挡永久免费视频网站_日韩av激情在线观看_99re超碰_中文天堂在线资源www | aaa在线观看_澳门黄色毛片_污网站在线浏览_91成人午夜在线精品_无码精品A片一区二区_AV在线播放日韩亚洲欧_久久久国产精品亚洲一区_色网站免费看 | 成年人黄色一级片_99精品国产在热久久_蜜桃在线播放_国产台湾无码av片在线观看_日本aaa大片_国产成人久久AV一区二区_国产成人精品一区二区视频免费_国产69精品久久久久99尤 | 成人精品免费毛片7778_在线吴梦梦视频一区二区_午夜手机看片_欧美一级特黄视频_欧美乱码视频_三人一起玩弄娇妻高潮_影音先锋中文字幕无码资源站_狠狠色综合久久丁香婷婷| 亚洲国产精品成人综合色在线_中文字幕国语版毛片免费_精品视频第一页_国内高清久久久久久_亚洲精品国产suv_成人毛片视频免费_欧美成人综合视频_一区二区三区在线 | 久久久久国产精品视频_欧美色第一页_韩国精品久久久_自拍偷自拍亚洲精品播放_亚洲AV中文无码乱人伦在线咪咕_疾速追杀4免费高清完整在线观看_欧美一级性爱免费观看_亚洲国产美女精品久久久久 | 国产在线一区视频播放_狠狠操91_免费看男女高潮又爽又猛视_欧美色蜜桃97_亚洲欧洲综合有码无码_日本人伦一区二区三区_日本逼视频_国产一级牲交高潮片16 | 欧美肥妇毛多水多BBXX_亚洲国产制服_国产成人久久精品77777综合_永久天堂网AV手机版_久久天堂网_人人天干天干啦夜天干天天爽_成人深夜www视频免费软件_欧美区视频 | 91精品久久久久久9s密挑_久久精品爱爱_国产成人免费av_成人免费AV一区二区三区_97在线观看_一级片中文_欧美精品第十页_黄片毛片在线观看 | 一区二区中文字幕_狠狠色丁香婷婷_国产成人AV片免费_中文字幕日韩精品在线观看_精品人妻无码一区二区三区视频_免费的黄色一级片_中文字幕二区三区_亚洲欧美国内爽妇网 | 99精品国产在热久久无码_亚洲hd_91中文字幕在线播放_丰满少妇免费做爰大片人_亚洲综合第三页_污草莓樱桃丝瓜秋葵榴莲黄瓜白狐_欧美激情肉欲高潮无码鲁大师_男女下面一进一出免费视频网站 | 一级毛片免费在线_雪白浑圆高耸光滑呻吟_伊人精品_伊人久久综合精品久久_欧美精品综合_一夜新娘第三季高清免费观看_亚洲综合精品一区_成人一级免费视频 |