假设有一个十六进制字符串 '0x123456789ab
cd
ef',要将其重新排列为 '0xef
cd
ab8967452301'。可以使用以下
SQL
代码实现:
DECL
AR
E @hexStr V
AR
CH
AR
(16) = '0x123456789ab
cd
ef';
SELECT REVERSE(SUBSTRING(@hexStr, 3, 2))
+ REVERSE(SUBSTRING(@hexStr, 5, 2))
+ REVERSE(SUBSTRING(@hexStr, 7, 2))
+ REVERSE(SUBSTRING(@hexStr, 9, 2))
+ REVERSE(SUBSTRING(@hexStr, 11, 2))
+ REVERSE(SUBSTRING(@hexStr, 13, 2))
+ REVERSE(SUBSTRING(@hexStr, 15, 2))
+ REVERSE(SUBSTRING(@hexStr, 17, 2));
这里使用 REVERSE
函数
将每个子字符串中的字符反转,并使用 SUBSTRING
函数
提取每个子字符串中的字符。最后,将所有子字符串连接起来,以得到重新排列后的十六进制字符串。
ef
cd
ab8967452301