Sql 使用一组数字更新VARCHAR2列-如何强制小数点?

Sql 使用一组数字更新VARCHAR2列-如何强制小数点?,sql,oracle,sql-update,Sql,Oracle,Sql Update,我有一个更新SQL,如下所示: UPDATE DCR_TEMP cr SET cr.TITLE = cr.AMOUNT||'/'|| cr.CLIENT_NUMBER; 这将更新标题列,例如:12223.52/1234567 但是,列金额数据可以存在3个不同版本,即: 二十三 23.1 23.13 但要求将金额转换为: 23.00 23.10 23.13 无论3位中的哪一位,输出都必须有两位小数。金额外观的选项 如何在SQL/Oracle中做到这一点?通常,冗余存储数据是个坏主意。如果你可以根

我有一个更新SQL,如下所示:

UPDATE DCR_TEMP cr SET cr.TITLE = cr.AMOUNT||'/'|| cr.CLIENT_NUMBER;
这将更新
标题
列,例如:
12223.52/1234567

但是,列金额数据可以存在3个不同版本,即:

  • 二十三
  • 23.1
  • 23.13
  • 但要求将金额转换为:

  • 23.00
  • 23.10
  • 23.13
  • 无论3位中的哪一位,输出都必须有两位小数。金额外观的选项


    如何在SQL/Oracle中做到这一点?

    通常,冗余存储数据是个坏主意。如果你可以根据金额和客户号来计算标题,为什么还要存储呢

    然而,数字没有格式。23 = 23.0 = 23.00 = 00023.00000 . 您可以使用
    to_char
    获取一个字符串,其中包含根据您的意愿格式化的数字

    update dcr_temp set title = to_char(amount, 'fm9999999990D00') || '/' || client_number;
    

    金额和客户号的数据类型是什么?@SalmanA-金额是数字,客户号是VARCHAR2@dziki我想Thorsten的答案就是你需要的。但你没有接受。你还需要更多吗?出什么事了?@FlorinGhita-因为开会的原因不能接受它;)