zoukankan      html  css  js  c++  java
  • 【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字节码的编码方式之一。

  • 相关阅读:
    【机器学习】浅谈协方差
    python {}.format
    【机器学习】准确率、精确率、召回率
    【声纹识别】 EER
    【机器学习】 最形象的入门
    逻辑卷-LVM
    RAID及软RAID的实现
    输入数字or 字符串,统计重复次数---字典统计练习
    Python-数据结构之dict(字典*****)
    POJ 3204 网络流的必须边
  • 原文地址:https://www.cnblogs.com/badboy200800/p/10553695.html
Copyright © 2011-2022 走看看