数字转字符串,如何写sql

grayhoundd 2006-05-12 11:03:36
有数据,例:9.0, 12,23, 189,01 , 2.10
要转换为字符串,看起来效果一样,即
'9.0','12.23','189.01','2.10'
...全文
5492 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny110 2006-05-12
  • 打赏
  • 举报
回复
如果小数点可以为零的话。
例如,
9.0 检索后变成,9.00 可以吗
如果可以的话,试一下这个
select to_char(9.1,'fm99999999.00') as a from dual


sunny110 2006-05-12
  • 打赏
  • 举报
回复
select trim(to_char(9.0,'9D99')) as a from dual

如果不加trim的话,
结果的前面,就会有个空格
Visual_Studio_Net 2006-05-12
  • 打赏
  • 举报
回复
这个问题以前好像有人提过
其实各位的方法都不行,单纯的9.0没问题,请看
SQL> select to_char(9.0,'0.00') from dual;

TO_CHAR(9.0,'0.00')
-------------------
9.00

SQL> select to_char(999.0,'0.00') from dual;

TO_CHAR(999.0,'0.00')
---------------------
#####

SQL> select to_char(999.0,'000.00') from dual;

TO_CHAR(999.0,'000.00')
-----------------------
999.00

SQL> select to_char(9.0,'000.00') from dual;

TO_CHAR(9.0,'000.00')
---------------------
009.00

期待高手
grayhoundd 2006-05-12
  • 打赏
  • 举报
回复
小数是2位固定的,但整数不固定长短.
1.00, 1234.00 ,怎么用同一sql语句变成,'1.00', '1234.00' .
不要这种效果:'_ _ _1.00','_ 1234.00',_表示空格
sunny110 2006-05-12
  • 打赏
  • 举报
回复
不好意思,

应该是:有效小数位2

select to_char(9.0,'9D99') as a from dual
或者
select to_char(9.0,'0.00') as a from dual
zqf2010 2006-05-12
  • 打赏
  • 举报
回复
select to_char('3.0') from dual
这样可以哦
sunny110 2006-05-12
  • 打赏
  • 举报
回复
select to_char(9.0,'9D9') as a from dual
或者
select to_char(9.0,'0.0') as a from dual

这样可以吗
grayhoundd 2006-05-12
  • 打赏
  • 举报
回复
select to_char(9.0) from dual
结果就变为'9'了,我还要‘9.0'的效果。
有效小数位2
linmu_netboy 2006-05-12
  • 打赏
  • 举报
回复
用to_char()函数 转换
如:
select to_char(9.0) from dual
benny0526 2006-05-12
  • 打赏
  • 举报
回复
select '9.0','12.23','189.01','2.10' from dual;

是这个意思吗?
sole_lodestar 2006-05-12
  • 打赏
  • 举报
回复
关注
sunny110 2006-05-12
  • 打赏
  • 举报
回复
Visual_Studio_Net(打鼠英雄)
SQL> select to_char(0.9,'fm99999990.00') from dual;

TO_CHAR(0.9,'FM99999990.00')
----------------------------
0.90

这样处理的话,就没有
0.90 --> ' .90'
这种情况了。

恩,这样就没有问题了。
Visual_Studio_Net 2006-05-12
  • 打赏
  • 举报
回复
SQL> select to_char(0.9,'fm99999990.00') from dual;

TO_CHAR(0.9,'FM99999990.00')
----------------------------
0.90

SQL>
grayhoundd 2006-05-12
  • 打赏
  • 举报
回复
还是有个问题,
如果用各位上述的方法,都会有这个问题:
0.90 --> ' .90'
benny0526 2006-05-12
  • 打赏
  • 举报
回复
原来这么复杂,关注
sunny110 2006-05-12
  • 打赏
  • 举报
回复
FM 抑制填充空白和零

select to_char(9.1,'fm99999999.00') as a from dual

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧