屏蔽sql查询时在数字列后追加.00
我需要在列值的末尾追加屏蔽sql查询时在数字列后追加.00,sql,oracle,Sql,Oracle,我需要在列值的末尾追加.00。假设该列的值为3,则应显示为3.00 我试着使用以下方法: SELECT cast(field_name as decimal(12,2)) FROM table_name WHERE field_name <> 0 选择cast(字段名称为十进制(12,2)) 从表\u名称 其中字段名称为0 但这并没有以要求的格式返回 字段类型:-数字(9,2)假定您的值是整数 SELECT CAST(Integer_Column AS DECIMAL(
.00
。假设该列的值为3
,则应显示为3.00
我试着使用以下方法:
SELECT cast(field_name as decimal(12,2))
FROM table_name
WHERE field_name <> 0
选择cast(字段名称为十进制(12,2))
从表\u名称
其中字段名称为0
但这并没有以要求的格式返回
字段类型:-数字(9,2)假定您的值是整数
SELECT CAST(Integer_Column AS DECIMAL(12, 2))
请注意,如果您打算允许更新/创建这样的值,则应将它们保存在DECIMAL
列中,保存在INT
列中会丢失小数点后的数据
感谢JarlH关于整数长度的说明。如果您只需要打印结果,将数字视为字符串,您可以使用适当的格式掩码将其转换为
varchar
:
SELECT to_char(field_name, 'fm999999999.00')
使用适当的格式显示浮点数,例如
cast(列名为十进制(12,2))
。或者在显示层中修复它…这在我的情况下不起作用…如何在显示层中修复?对不起,输入错误,是指显示层。我的意思是返回一个整数,并使用display函数将其格式化为您喜欢的格式。因为您只需要用于显示目的:使用to_char()
或让您的应用程序进行格式化。整数最多可以是10位数字。十进制(12,2)更安全。不,我只需要数字格式的结果。我不太清楚;如果您需要一种显示数字的方式,使用字符是正确的方式;否则,Oracle中的数字没有显示格式;因此,无论数字列的类型如何,都需要使用字符转换来控制显示格式。