分享好友 数据库首页 频道列表

oracle to_char函数将number转成string

Oracle教程  2015-09-04 13:590
很多数据转换处理操作时,会遇到将0.007007040000转换成0.70%的需求,我们使用Oracle 的SQL 函数 to_char可以实现这种转换。
这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。
格式'999.99',9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定位数没有值,则以空格表示。
格式'0990.990',0表示对应的某一个指定位数的值,如果是值是0则显示为0,如果是没有值也显示为0。
格式'FM990.90',FM表示将显示出来的字符串定位数没有值而显示的空格清理掉,作用和ltrim类似。
复制代码 代码如下:

SQL> select to_char(12304.560,'999.99') from dual;
TO_CHAR(12304.560,'999.99')
---------------------------
#######
SQL> select to_char(104.560,'999.99') from dual;
TO_CHAR(104.560,'999.99')
-------------------------
104.56
SQL> select to_char(104.560,'99999.99') from dual;
TO_CHAR(104.560,'99999.99')
---------------------------
104.56
SQL> select to_char(104.560,'99999.990') from dual;
TO_CHAR(104.560,'99999.990')
----------------------------
104.560
SQL> select to_char(104.560,'0099.990') from dual;
TO_CHAR(104.560,'0099.990')
---------------------------
0104.560

复制代码 代码如下:

SQL>
SQL> select to_char(round(0.007007040000, 4) * 100, 'FM99999999990.90') || '%' as aa,
2 length(to_char(round(0.007007040000, 4) * 100, 'FM99999999990.90') || '%') as bb
3 from dual;
AA BB
---------------- ----------
0.70% 5
SQL>
SQL> select to_char(round(0.007007040000, 4) * 100, '99999999990.90') || '%' as aa,
2 length(to_char(round(0.007007040000, 4) * 100, '99999999990.90') || '%') as bb
3 from dual;
AA BB
---------------- ----------
0.70% 16

这是to_char将数字转换成字符串的常见操作功能,还有其他一些格式,见to_char(numeric)的格式模板。
复制代码 代码如下:

模板 描述
9 带有指定位数的值
0 前导零的值
. (句点) 小数点
, (逗号) 分组(千)分隔符
PR 尖括号内负值
S 带负号的负值(使用本地化)
L 货币符号(使用本地化)
D 小数点(使用本地化)
G 分组分隔符(使用本地化)
MI 在指明的位置的负号(如果数字 < 0)
PL 在指明的位置的正号(如果数字 > 0)
SG 在指明的位置的正/负号
RN 罗马数字(输入在 1 和 3999 之间)
TH or th 转换成序数
V 移动 n 位(小数)(参阅注解)
EEEE 科学记数。现在不支持。

它还能将时间格式的数据转换成字符串,只是格式更加复杂。

查看更多关于【Oracle教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
转:http://ckitpro8086.blog.51cto.com/3653012/770589使用Toad进行Oracle PL/SQL Program的编写及调试需掌握如下视图应用:(1)Schema Broswer    模式浏览器(Schema Browser)可以快速访问数据字典,浏览数据库中的表、索引、存储过程。Toad 提供对数

0评论2023-02-10421

卸载了PL/SQL Developer,说一下与Toad for Oracle的对照
曾经一直用PL/SQL Developer来管理Oracle。发现真的使用起来非常不方便。打开非常卡,并且界面左上角总是多出那个框,怎么都无法设置默认隐藏掉。唯一让人认为非常值得的就是有一个美化工具,只是后来发现Toad 事实上也有一个format工具,就果断卸载PL/SQL了

0评论2023-02-10656

Flink sink to Oracle\MYSQL
http://www.cnblogs.com/34fj/p/8820094.htmlhttps://blog.csdn.net/lmalds/article/details/52400805

0评论2023-02-10733

java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.sql.Timestamp
http://***.com/questions/13269564/java-lang-classcastexception-oracle-sql-timestamp-cannot-be-cast-to-java-sql-ti

0评论2023-02-10914

SQL语句往Oracle数据库中插入日期型数据(to_date的用法)
 Oracle 在操作数据库上相比于其他的 T-sql 有微小的差别,但是在插入时间类型的数据是必须要注意他的 to_date 方法,具体的情况如下:--SQL语句往Oracle数据库中插入日期型数据(to_date的用法)INSERTINTOFLOORVALUES( to_date ( '2007-12-20 18:31:34' ,

0评论2023-02-10802

mysql数据库出现ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_a019_0.MYI'
1. mkdir /var/lib/mysql/tmp2. chown mysql:mysql /var/lib/mysql/tmp3. 修改/etc/my.cnf配置文件,在[mysqld]域加入:tmpdir = /var/lib/mysql/tmp4. 重启mysqld服务   service mysqld restart

0评论2023-02-10742

spark sql metastore 配置 mysql
本文主要介绍如何为 spark sql 的 metastore 配置成 mysql 。 spark 的版本 2.4.0 版本hive script 版本为 hive 1.2.2 mysql 为 5.7.18  mysql 的安装部署就不在这里介绍了。首先为 mysql 的root 用户设置密码mysql -uroot set password= password('mysql

0评论2023-02-09600

【Oracle】在sql文中巧妙使用to_number和substr函数
【启发】有五个数字,我们将它们像字符串一样的拼接起来,然后把得到的字符串转换为数字,我们发现:五个数字中只要有一个数字大于0,那么拼接起来的字符串转换为数字后都大于0。【实现】1 having 2 to_number(substr(number_1||number_2||number_3||numbe

0评论2023-02-09542

Tomcat7环境下面MySQL 56/Oracle数据库连接池的配置
Tomcat7MySQL56mysql-connector-java-3.1.10-bin.jar步骤:1. 配置context.xml此文件位于~\tomcat7\conf目录下面,增加如下代码:Resource name="jdbc/DemoDb" auth="Container"type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"url=&

0评论2023-02-09447

Oracle SQL篇(三)Oracle ROWNUM 与TOP N分析
    首先我们来看一下ROWNUM:含义解释:1、rownum是oracle为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推。这是一个伪列,可以用于限制查询返回的总行数。2、rownum不能以任何基表的名称作为前缀。对于ROWNUM来说,通常我们可以使

0评论2023-02-09907

CentOS系统中Redis数据库的安装配置指南
Redis是一个基于主存存储的数据库,性能很强,这里我们就来看一下CentOS系统中Redis数据库的安装配置指南,包括将Redis作为系统服务运行的技巧等,需要的朋友可以参考下

0评论2016-06-26545

更多推荐