我有一个Teradata表,我继承了这个表并没有很好地格式化。
TRIM(new_card_srgt_id (FORMAT 'Z(17)9'))
我试过了:
Format string has combination of numeric, character, and GRAPHIC values.
但我的Teradata版本给出了一个有趣的错误:
myFunction
欢迎任何建议。
更新:使用TRIM的建议(从ID尾随'。'导致数字溢出,当我去投射它。任何其他方法来解决它。
答案 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))