使用Concat运算符(||)不显示浮点数的整数部分

时间:2017-01-19 15:43:29

标签: sql oracle

当我在Oracle中使用concat ||运算符编写SELECT查询以连接十进制数字和字符串时。然后,不显示整数部分为零的值。

但是当我只选择数字时,会显示整数部分。

我的SQL查询结构: -

SELECT
NUMBER_VAL ||
STRING_VAL
FROM MY_TABLE;

对于E.g(仅选择号码): -

SELECT 0.1 FROM DUAL;

我收到结果:0.01

E.g(选择连接的数字和字符串): -

SELECT 0.01 || 'ABCD' FROM DUAL;

我正在获得结果:.01ABCD

期望的结果:0.01ABCD

任何人都可以帮助我如何达到预期的效果。

这是对Rics答案的补充。

NUMBER_VAL的数据类型为NUMBER(9,4)。

这就是为什么我必须使用格式'99990.9999'

2 个答案:

答案 0 :(得分:1)

使用to_char函数和相应的number format

SELECT
to_char(NUMBER_VAL,'0.99') ||
STRING_VAL
FROM MY_TABLE;

答案 1 :(得分:0)

您可以在转换为字符串时指定格式,例如:

SELECT TO_CHAR(0.01, '0.00') || 'ABCD' FROM DUAL;