【问题标题】:Having trouble with decimal points in SQL在 SQL 中遇到小数点问题
【发布时间】:2011-07-12 14:07:18
【问题描述】:

我有一个函数用于将值插入到我的数据库中。这是我的插入功能的相关部分:

BEGIN
....
INSERT INTO TABLE1   (AMOUNT)
VALUES (pAmount);

......

所以这个语句可以正常工作,但是如果 pAmount = 531.42,它会将 531 插入我的数据库。所以它不考虑小数点后的任何内容。仅供参考,我也试过:

VALUES (to_char(pAmount, '99,999.99'));

这也取消了小数点。有没有快速解决方法?

【问题讨论】:

  • TABLE1 上的 AMOUNT 列的定义是什么?
  • 您的 pAmount 字段的数据类型是什么?
  • 您的 NLS 设置是什么? AMOUNT 列的数据类型是什么?
  • @Dante617 哦,对不起。我知道我忘记了什么。我只是把它作为一个 VARCHAR2

标签: sql plsql to-char


【解决方案1】:

列的数据类型是什么?例如,如果它是 NUMBER(10,0),那么这意味着最多 10 位数字,0 位小数。例如,您可能希望 NUMBER(10,2) 允许 2 位小数。

【讨论】:

  • 这就是问题所在。非常感谢。允许时接受
【解决方案2】:

AMOUNT 的数据类型是什么?我敢打赌它是一个整数或四舍五入为整数的数字。

【讨论】:

    猜你喜欢
    • 2012-01-30
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    相关资源
    最近更新 更多