oracle 去重复,¥货币,保留小数点后两位,测试SQL语句执行时间
1.去重复数据:select * from b a where id > (select min(id) from b b where a.name=b.name)
2.测试SQL语句执行时间的方法和步骤:
SQL> set timing on;
步骤:
1. alter system flush shared_pool; --刷新一下shared_pool
2. set timing on ; --允许统计时间
3. select ... ; --执行sql语句
举例说明:
SQL/Plus
SQL> set timing on
SQL> select * from test2;
3.lpad 填充字符(长度不够就填充字符)
select lpad(id,5,'0') from b ;
4. select ltrim(rtrim(id)) from b ; 去除空格
5. 按指定格式显示小数点及小数点后位置(指定数字没有小数的话,以0补足)
例如:
SQL> select to_char(18,'999.000') from dual;
TO_CHAR(
--------
18.000
6.L 指定位置显示本地默认符号(默认值见:NLS_CURRENCY)
例如:
SQL> select to_char(999,'L999') from dual;
TO_CHAR(999,'L
--------------
¥999
SQL> alter session set nls_currency='haha';
会话已更改。
SQL> select to_char(999,'L999') from dual;
TO_CHAR(999,'L
--------------
haha999
7、U 与L类似,在指定位置显示货币单位(默认值见:NLS_DUAL_CURRENCY)
例如:
SQL> select TO_CHAR(128,'999U') from dual;
TO_CHAR(128,'9
--------------
128¥
SQL> alter session set nls_dual_currency='aaa';
会话已更改。
SQL> select TO_CHAR(128,'999U') from dual;
TO_CHAR(128,'9
--------------
128aaa
8、 to_char(0.1323,'9999999999990.00') 保留小数点后两位
显示成0.13
9.一个解决Oracle number类型查询精度丢失的方法:
//四舍五入小数点后2位
list.add(new BigDecimal(zcxxhj).setScale(2, BigDecimal.ROUND_HALF_UP));
上一篇: Oracle分页查询 效率高