Sybase 二进制转换为 Teradata

Sybase binary conversion to Teradata

我下面有一个SQL查询

select convert(binary(20),convert(char(20),'-'))

输出是: 2D20202020202020202020202020202020202020

想问一下Teradata 的等效项。 下面是我的查询

TO_BYTES(CAST ( LPAD('-', 20, '-') AS VARCHAR(20)) , 'ASCII' )

但它导致我输出: 2D-2D-2D-2D-2D-2D-2D-2D-00-00-00-00-00-00-00-00-00-00-00-00

注意:只要输出为 2D-20-20-20-20-20-20-20-20-20-20-20-,连字符或 - 就可以用于 Teradata 20-20-20-20-20-20-20-20

您的结果与您的查询不符,但无论如何您使用的方法都是错误的:-)

LPAD 添加 leading 个字符,您需要 RPADtrailing 个字符。

TO_BYTES( RPAD('-', 20) , 'ASCII' )

顺便说一句,连字符只是为了使二进制数据的显示更具可读性。这是一个客户端设置,例如在 SQL 助手中:工具 -> 选项 -> 数据格式 -> 显示二进制数据值的字节之间的破折号