• 【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');  //返回'ZESC '
    SELECT from_bytes('5A1B'XB, 'base10'); //返回'23067'

     说明:Base64一种基于64个可打印字符来表示二进制数据的方法,用于传输8Bit字节码的编码方式之一。

  • 相关阅读:
    云计算openstack核心组件——neutron网络服务(9)
    云计算openstack核心组件——neutron网络服务(8)
    flexible.js 布局详解
    libflexible源码阅读
    H5适配方案
    微信分享朋友圈示例代码
    微信接口示例代码
    微信JSSDK上传图片,代码为上传单张图
    H5动画开发快车道
    Centos 6.5 安装 Nginx+MySQL+PHP
  • 原文地址:https://www.cnblogs.com/badboy200800/p/10553695.html
Copyright © 2020-2023  润新知