今天看到一个这样的sql :
select ccode, times, pt, to_char(last_value(decode(pt, 0, null, pt) ignore nulls) over(partition by ccode order by times), 'fm90.09') new_pt from tmp_t;
对to_char(value,'fm90.09')里面的fm90.09很陌生,虽然可以猜出是格式化用的,但是里面的0,9代表什么不知道。
to_char用法:TO_CHAR ( n [, fmt [, 'nlsparam']] )
官方文档链接:http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm,里面有详细的介绍.
下面我要说的是to_char fm90.09代表什么,参考了博文http://www.cnblogs.com/liubiqu/archive/2008/01/17/1042403.html。
总结如下:
1,有9的地方如果有数字就显示如果没有数字就不显示,有0的地方在没有数字的时候也会有0来占位
select to_char(9999.09556,'fm99999.0900'),to_char(9999.09556,'fm00099.0900') from dual
结果为:
2,截取小数的时候是四舍五入
select to_char(90.99,'fm999.0')保留一位小数,to_char(90.99,'fm999.00')保留2位小数 from dual
结果为:
3,如果用fm9.99 整数仍然会显示.,如果不需要需要替换
select to_char(9,'fm99.99'),regexp_replace(to_char(9,'fm99.99'), '\.$', '') from dual
4,fm中整数部分需大于等于值的整数部分长度
select to_char(99999.09, 'fm9.09'), to_char(99999.09, 'fm99.09'), to_char(99999.09, 'fm999.09'), to_char(99999.09, 'fm9999.09'), to_char(99999.09, 'fm99999.00') from dual
结果为:
select to_char(99999.09, 'fm0.09'), to_char(99999.09, 'fm00.09'), to_char(99999.09, 'fm000.09'), to_char(99999.09, 'fm0000.09'), to_char(99999.09, 'fm00000.00') from dual
结果为:
综合例子为:
with tmp_t as( select 1 as v_id,0.02 as v_value from dual union all select 2,10.02 from dual union all select 3,0.054 from dual union all select 4,20.01 from dual union all select 5,-21.006 from dual union all select 6,-1 from dual union all select 7,-2.004 from dual union all select 8,20.046 from dual) select v_id, v_value, to_char(v_value)v_1, to_char(v_value, 'fm90.09')v_2, regexp_replace(to_char(v_value, 'fm90.9'), '\.$', '') v_3, regexp_replace(to_char(v_value, 'fm90.09'), '\.$', '') v_4, regexp_replace(to_char(v_value, 'fm90.09'), '\.0*$', '') v_5 from tmp_t
结果为:
如有错误,欢迎提出,谢谢。
全文完。
相关推荐
AV_SAMPLE_FMT_FLTP转为AV_SAMPLE_FMT_S16P(ffmpeg),在使用ffmpeg解码aac的时候,如果使用avcodec_decode_audio4函数解码,那么解码出来的会是AV_SAMPLE_FMT_FLTP 格式的数据( float, 4bit , planar), 如果我们希望...
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S ---------- ---------- 2004.05.09 2004.05.10 SQL> select last_day(sysdate) from dual; LAST_...
日立电梯NPH-105_GVF2的FMT板操作.pdf
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S ---------- ---------- 2004.05.09 2004.05.10 SQL> select last_day(sysdate) from dual; ...
dhcp_minires_and_fmt_string
资源分类:Python库 所属语言:Python 资源全名:tox_ini_fmt-0.3.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
东芝的的2.5tft屏幕资料,谢谢,谢谢。
v4l2接口支持两种摄像头数据格式“V4L2_PIX_FMT_YUYV”和“V4L2_PIX_FMT_MJPEG”,网上大部分示例给出的是采用“V4L2_PIX_FMT_YUYV”格式的, private boolean isMJPEGCamera=false; //false--V4L2_PIX_FMT_YUYV,...
oracle trunc()函数是最常用的函数之一,下面就为您介绍oracle trunc()函数的用法,供您参考,希望可以让您对oracle trunc()函数有更深的认识。 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的...
Try to capture the info here. */ static struct sensor_win_size sensor_win_sizes[] = { // /* UXGA */ // { // .width = UXGA_WIDTH, // .height = UXGA_HEIGHT, // .hoffset = 0, // .voffset = 0, // ....
this code is used to implement FMT Filter bank trancsiver in matlab. the filter coefficient can be changed also the number of subcarriers.
在oracle数据库的开发中,常因为时间的问题大费周章,所以特地将ORACLE数据的日期函数收藏致此。乃供他日所查也。 add_months(d,n) 日期d加n个...出的日期列表中最早的日期 to_char(d [,fmt]) 日期d按fmt指定的格式??成
对数在C99中实现的简单日志记录库用法和应该放入现有项目并与之一起编译。 该库提供了6个类似于函数的宏,用于记录日志: log_trace ( const char *fmt, ...);log_debug ( const char *fmt, ...);log_info ( const ...
vip_mode: 0:sample one interface to one buffer 1:sample two interface to one buffer ;vip_dev_qty: The quantity of devices linked to capture bus ; ;vip_define_sensor_list: If you want use sensor detect...
fm signal in matlab code
为什么使用 FMT FMT 采用基于模型设计 (MBD) 的开发模式,可以更快速的开发和验证的您的算法,无需手动编写嵌入式代码,只需要在 Simulink 中通过图形化的方式设计算法模型然后一键生成C/C++代码合入飞控嵌入式代码...
此标头允许使用get,std :: tuple_size,std :: tuple_element接口直接格式化范围,容器,范围和所有类型。 例子: std::vector< int32> iv{ 1 , 2 , 3 , 5 , 7 , 11 }; auto ivf = fmt::format( " {} " , iv); ...
下面是该函数的使用情况: TRUNC(TO_DATE(‘24-Nov-1999 08:00 pm‘),‘dd-mon-yyyy hh:mi am‘) =‘24-Nov-1999 12:00:00 am‘ TRUNC(TO_DATE(‘24-Nov-1999 08:37 pm‘,‘dd-mon-yyyy hh:mi am‘),‘hh...
基于FMT平台可以更快速的开发和验证的飞控算法,无需手动编写嵌入式代码,只需要在Simulink中通过图形化的方式设计算法模型并一键生成代码然后合入飞控。 项目源码地址: 为什么使用 FMT 基于模型设计是一种数学及...
几乎适用于所有STC单片机,4个串口可同时配置使用,函数由结构体封装打包好,非常方便。 --------------------------STC_UART函数目录-------------------------- //注意:若主循环正在打印突然跳到中断中恰好又掉...