亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于SQLSERVER中的時間戳的問題

關于SQLSERVER中的時間戳的問題

回首憶惘然 2018-07-16 13:06:00
select convert(bigint, 0x00000000E67E1518) aselect convert(timestamp,3867022616) bselect convert(timestamp, convert(bigint, 0x00000000E67E1518)) c1.為什么b!=c?2.利用sqlserver中的convert函數進行,時間戳的二進制與其他數據類型(比如bigint、int)之間是如何轉化的,convert函數如何將兩種不同數據類型之間的值對應起來?3.如何利用時間戳同步不同數據庫某表之間的數據?
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

很簡單,因為 b的類型不是bigint 而是numeric(10,0) 也就是說,convert(timestamp,3867022616) =convert(timestamp,convert(numeric(10,0),3867022616))
sql server 規則無論你INT有多長,不超過38位,只要超過int的長度就會變成numeric。所以不會變成bigint,而timestamp是根據類型來的。不同數據類型就算值一樣,轉換成的時間戳就不一樣,如果你想規避這個問題,你b就要改成select convert(timestamp,convert(bigint,3867022616)) b

查看完整回答
反對 回復 2018-08-25
  • 1 回答
  • 0 關注
  • 712 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號