从未正确连接的Teradata列中删除尾随句点

时间:2016-10-27 21:48:51

标签: sql teradata

我有一个Teradata表,我继承了这个表并没有很好地格式化。

TRIM(new_card_srgt_id (FORMAT 'Z(17)9')) 

我试过了:

Format string has combination of numeric, character, and GRAPHIC values.

但我的Teradata版本给出了一个有趣的错误:

myFunction

欢迎任何建议。

更新:使用TRIM的建议(从ID尾随'。'导致数字溢出,当我去投射它。任何其他方法来解决它。

2 个答案:

答案 0 :(得分:1)

当您将十进制字段中的数据加载到字符字段而未指定格式时,teradata会执行类型转换。它固有地增加了'。'到尾随值。

如果ID字段为char且已包含“。”并且您希望将其提取为十进制而不使用'。'然后语法如下

SELECT cast(id as decimal(15,0)) form table;

如果ID字段为十进制,并且您想将其提取为不带'。'的字符。然后语法如下

SELECT  TRIM(ID (FORMAT 'ZZZZZZZZZZZZZ9')) from table;

答案 1 :(得分:0)

解决它:

施放(TRIM(尾随'。'来自ID)为十进制(18,0))