【Teradata SQL】十进制转换成二进制

博客介绍了数值类型和字符串类型转换为二进制的方法,涉及TO_BYTE、TO_BYTES和FROM_BYTES函数,还提到查看结果数据类型的type方法,同时说明了Base64是一种表示二进制数据的编码方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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字节码的编码方式之一。

 

转载于:https://www.cnblogs.com/badboy200800/p/10553695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值