SQL中的数字格式化 (收藏)

摘要:
使用SQL语句格式化双重数据。例如,只能在小数点后取两位数。主要方法是取小数点前的数字,而不考虑舍入到selectleft。其中:charindex获得小数点位置-1表示小数点之前的所有项目。如果你想得到小数点后的n,你可以把它写成+n。CAST和ROUND 1.SELECTCAST之间的比较将得到123。您需要将上述值更改为SELECTCAST===˃123.46自动舍入!因为前者在舍入前的小数点后被截断,保留2位。

用sql语句来格式化double型的数据,比如,只取出小数点后面的两位
一。主要方法

--取小数位前数字,不考虑四舍五入
select left('30000.72234', charindex('.', '30000.72234')-1)
其中:charindex('.', '30000.72234')获得小数点的位置;-1则表示在小数点前面的全部,如果想获取小数点后面的n为,写成+n就可以了。还挺好用的。

--每三位用逗号相隔,留2位小数,不考虑四舍五入
select convert(varchar, cast(round(30000.72234,0) as money), 1)

--每三位用逗号相隔,不留小数位,考虑四舍五入
select left(convert(varchar, cast(round(30000.72234,0) as money), 1) , charindex('.', convert(varchar, cast(round(30000.72234,0) as money), 1))-1)


二。CAST和 ROUND的比较
1.
SELECT CAST('123.456' as decimal)  将会得到 123(小数点后面的将会被省略掉)。
如果希望得到小数点后面的两位。
则需要把上面的改为
SELECT CAST('123.456' as decimal(38, 2))

===>123.46
自动四舍五入了!

2.
SELECT ROUND(123.75633, 2, 1),
ROUND(123.75633, 2)
上面的SQL得到的2个值是不一样的,前一个是:123.75000,后一个是:123.76000。
因为前者在进行四舍五入之前,小数点后已经被截取,保留了2位。
而后者则没有被截取,四舍五入时自然就会得到123.76000

from: http://www.cnblogs.com/dami/archive/2007/08/09/849567.html

免责声明:文章转载自《SQL中的数字格式化 (收藏)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#中将string转换为floatGolang的高级数据类型-字典(map)实战篇下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu10.04下安装SQLite3(转贴)

Ubuntu linux下安装sqlite3 1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库。 2.安装: 要安装sqlite3,可以在终端提示符后运行下列命令: sudo apt-get install sqlite3 检查版本 sqlite3 -version 3.测试 当前目录下建立test.db测试数据库文件 s...

oracle审计

1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)中。默认情况下审计是没有开启的。不管你是否打开数据库的...

SQL Server(三)

一、数据库操作 create database 数据库名称 ——创建drop database 数据库名称 ——删除use 数据库名称 ——使用go 两条SQL语句之间分隔 二、表的操作 create table 表名( 列名 类型 其它,列名 id类型 其它 ) ——使用primary key ——主键identity——自增长列not null ——非...

Qt 学习之路:视图选择 (QItemSelectionModel)

选择是视图中常用的一个操作。在列表、树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色。在 Qt 中,选择也是使用了一种模型。在 model/view 架构中,这种选择模型提供了一种更通用的对选择操作的描述。对于一般应用而言,Qt 内置的选择模型已经足够,但是,Qt 还是允许你创建自己的选择模型,来实现一些特殊的操作。 Qt 使用QIt...

Linux上的oracle巡检脚本

修改自大神博客:http://www.cnblogs.com/jyzhao/p/5364049.html 脚本巡检的优化:自动化,节省时间。 脚本需加强:巡检结果中有大量的sqlplus连接信息,后期考虑用shell只过滤出有用信息,优化查看。 开始介绍: 1.环境sentos67、redhat6 2.可以将脚本放至/home/oracle/checkdi...

statement 、prepareStatement的用法和解释

转自:http://blog.csdn.net/QH_JAVA/article/details/48245945 一、prepareStatement 的用法和解释 1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程 2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Stateme...