Binary Sybase二进制文件到Teradata的转换
下面我有一个SQL查询Binary Sybase二进制文件到Teradata的转换,binary,byte,teradata,Binary,Byte,Teradata,下面我有一个SQL查询 select convert(binary(20),convert(char(20),'-')) 输出为: 2D202020202020202020202020202020202020202002020 我想问一下与之相当的Teradata。 下面是我的问题 TO_BYTES(CAST ( LPAD('-', 20, '-') AS VARCHAR(20)) , 'ASCII' ) 但这导致了我的产出: 2D-2D-2D-2D-2D-2D-2D-2D-2D-00-00
select convert(binary(20),convert(char(20),'-'))
输出为:
2D202020202020202020202020202020202020202002020
我想问一下与之相当的Teradata。
下面是我的问题
TO_BYTES(CAST ( LPAD('-', 20, '-') AS VARCHAR(20)) , 'ASCII' )
但这导致了我的产出:
2D-2D-2D-2D-2D-2D-2D-2D-2D-00-00-00-00-00-00-00-00-00-00-00-00-00-00
注意:对于Teradata,连字符或-可以,只要输出是2D-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20,您的结果与查询不匹配,但您使用的方法是错误的:- LPAD添加前导字符,您需要RPAD,而不是尾随字符
TO_BYTES( RPAD('-', 20) , 'ASCII' )
顺便说一句,连字符只是为了使二进制数据的显示更具可读性。这是一个客户端设置,例如在SQL助手中:工具->选项->数据格式->显示二进制数据值字节之间的破折号Wow!再次非常感谢!: