久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

轉(zhuǎn)換十進(jìn)制 <-->二進(jìn)制與 T-SQL

Convert decimal lt;--gt; binary with T-SQL(轉(zhuǎn)換十進(jìn)制 lt;--gt;二進(jìn)制與 T-SQL)
本文介紹了轉(zhuǎn)換十進(jìn)制 <-->二進(jìn)制與 T-SQL的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

如何使用 T-SQL 將二進(jìn)制(基數(shù) 2 存儲(chǔ)為 varchar)轉(zhuǎn)換為十進(jìn)制(基數(shù) 10 存儲(chǔ)為 int 或 bigint),反之亦然?

How can I convert binary (base 2 stored as varchar) into decimal (base 10 stored as int or bigint) and the other way around, using T-SQL?

示例結(jié)果:

  • 7 (dec) <--> 111 (bin)
  • 136 (dec) <--> 10001000 (bin)
  • 2123942362 (dec) <--> 1111110100110001100100111011010 (bin)
  • 7 (dec) <--> 111 (bin)
  • 136 (dec) <--> 10001000 (bin)
  • 2123942362 (dec) <--> 1111110100110001100100111011010 (bin)

推薦答案

這個(gè)答案可以處理 bigint

This answer can handle bigint

轉(zhuǎn)換為位(包含 1 和 0 的 varchar)

Convert to bit(varchar containing 1 and 0)

DECLARE @input BIGINT = 9223372036854775807

;WITH N(N)AS 
(
  SELECT top 63
    POWER(cast(2 as bigint),
      ROW_NUMBER()over(ORDER BY (SELECT 1))-1)
  FROM
    (VALUES(1),(1),(1),(1))M(a),
    (VALUES(1),(1),(1),(1))L(a),
    (VALUES(1),(1),(1),(1))K(a)
)
SELECT
  COALESCE
  (
    REVERSE
    (
      ( 
        SELECT CAST(@input/N%2 as CHAR(1))
        FROM N 
        WHERE N <= @input
        for xml path(''), type 
      ).value('.', 'varchar(max)')
    )
    , '0'
  )

結(jié)果:

111111111111111111111111111111111111111111111111111111111111111

將包含位值的 varchar 轉(zhuǎn)換為 bigint

Convert varchar containing bit values to bigint

DECLARE @input varchar(max) = 
  '111111111111111111111111111111111111111111111111111111111111111'

;WITH N(V) AS 
(
  SELECT
    ROW_NUMBER()over(ORDER BY (SELECT 1))
  FROM
    (VALUES(1),(1),(1),(1))M(a),
    (VALUES(1),(1),(1),(1))L(a),
    (VALUES(1),(1),(1),(1))K(a)
)
SELECT SUM(SUBSTRING(REVERSE(@input),V,1)*POWER(CAST(2 as BIGINT), V-1))
FROM   N
WHERE  V <= LEN(@input)

結(jié)果:

9223372036854775807

這篇關(guān)于轉(zhuǎn)換十進(jìn)制 &lt;--&gt;二進(jìn)制與 T-SQL的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個(gè)子標(biāo)記轉(zhuǎn)換為具有多個(gè)分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個(gè)表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對(duì)?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(hào)(問題和答案的組合))
主站蜘蛛池模板: 亚洲视频不卡 | 亚洲精选一区 | 日韩在线中文 | 欧美xxxⅹ性欧美大片 | 在线观看中文字幕亚洲 | 一区二区日韩 | 欧美13videosex性极品 | 欧美久操网 | 一级a性色生活片久久毛片波多野 | 99视频免费播放 | 青青草这里只有精品 | 天天操天天玩 | 久久精品国产免费高清 | 国产一级片免费视频 | 亚洲视频一区在线 | 久久久av| 国产精品久久久久久久久免费软件 | 欧美一区中文字幕 | 日本久久网 | 国产免费视频在线 | 亚洲精品欧美一区二区三区 | 91色在线 | 色资源在线 | 欧美成人在线影院 | 在线观看亚洲精品视频 | 亚洲精品久久久久avwww潮水 | 久久国产免费看 | 国产精品视频 | 婷婷一级片| 国产精品影视在线观看 | 免费黄色av网站 | 一区二区三区四区不卡视频 | 欧美综合久久 | 国产成人精品一区二区三区视频 | 成人激情免费视频 | 午夜影院操| 午夜伦4480yy私人影院 | wwwxxx国产| 精品1区 | 成年人免费看的视频 | 亚洲精品在线视频 |