Teradata REGEXP_SPLIT_TO_TABLE 在数字之间插入空格

Teradata REGEXP_SPLIT_TO_TABLE Inserting Spaces between Numbers

我在使用 Teradata REGEXP_SPLIT_TO_TABLE 时遇到问题。它正确地分离了结果,但它在每个单独的数字之间插入 spaces。我使用 CHAR2HEXINT 并发现 space 的十六进制是 00。这是我使用的语句:

SELECT *  
FROM TABLE(
       REGEXP_SPLIT_TO_TABLE('2625 1410', '2625 1410', '[ \t\r\n\v\f]' , 'i') 
         RETURNS (outkey VARCHAR(250), token_ndx INTEGER, token VARCHAR(220) )
   ) AS t1;

它 returns 2 6 2 5 一行和 1 4 1 0 一行。我希望结果是连续 2625 和连续 1410。添加 space 是我做错了什么吗?有没有办法摆脱 spaces?提前致谢。

我遇到了同样的问题,发现 REGEXP_SPLIT_TO_TABLE returns UNICODE 字符串 :-) 但是由于您没有为 RETURN 列指定字符集,因此解析器假定为 LATIN,这会导致二进制零。

只需添加字符集 UNICODE:

SELECT *  
FROM TABLE(
       REGEXP_SPLIT_TO_TABLE('2625 1410', '2625 1410', '[ \t\r\n\v\f]' , 'i') 
         RETURNS (outkey VARCHAR(250) CHARACTER SET UNICODE
                 ,token_ndx INTEGER
                 ,token VARCHAR(220) CHARACTER SET UNICODE )
   ) AS t1;