Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
屏蔽sql查询时在数字列后追加.00_Sql_Oracle - Fatal编程技术网

屏蔽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中的数字没有显示格式;因此,无论数字列的类型如何,都需要使用字符转换来控制显示格式。