【Teradata SQL】十進制轉換成二進制


1.數值類型轉換為二進制(TO_BYTE+FROM_BYTES)

sel FROM_BYTES(TO_BYTE(1024),'base2');

 2.字符串類型轉換為二進制(TO_BYTES+FROM_BYTES)

sel cast(23 as varchar(20) character set unicode) vl,from_bytes(to_bytes(vl,'BASE10'),'BASE2')

3.查看結果數據類型(type)

sel type(FROM_BYTES(TO_BYTE(1024),'base16')); 

4.TO_BYTE

參數:數字類型值,BYTEINT、SMALLINTINTEGERBIGINT 輸出:十六進制BYTE類型值,長度由輸入類型決定BYTEINT->BYTE(1)、SMALLINT->BYTE(2)、INTEGER->BYTE(4)、BIGINT->BYTE(8)、NULL->NULL
SELECT TO_BYTE(23); //返回BYTE(1)類型,十六進制值17。可以使用sel type(to_byte(23));查看返回值類型

5.TO_BYTES

參數1:instring 要解碼的字符串值(VARCHAR or CLOB類型)
參數2:in_encoding 輸入的編碼格式,ASCII、Base2、Base10、Base16、Base64M 
輸出 :VARBYTE or BLOB
SELECT CAST (TO_BYTES ('5A', 'base16') as BYTE (16)); //返回'5A-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 '
SELECT TO_BYTES('5A','base16'); //返回'5A'

6.FROM_BYTES

參數1:instring 要編碼的二進制字符值(VARBYTE or BLOB)
參數2:out_encoding 輸出的編碼格式,ASCII、Base2、Base10、Base16、Base64M
輸出 :VARCHAR or CLOB(可能為NULL)
SELECT from_bytes('5A1B'XB, 'base16');  //返回'5A1B'
SELECT from_bytes('5A3F'XB, 'ASCII');  //返回'Z\ESC '
SELECT from_bytes('5A1B'XB, 'base10'); //返回'23067'

 說明:Base64一種基於64個可打印字符來表示二進制數據的方法,用於傳輸8Bit字節碼的編碼方式之一。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM