Oracle的TRUNC、ROUND函数详解,Sybase中功能相同的函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle的TRUNC、ROUND函数,Sybase中功能相同的函数
Oracle的TRUNC函数,Sybase中相同功能的函数CONVERT(Decimal(22,4),数值字段) Oracle,Trunc函数用法:
Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字,
举例如下:
1、截断日期时间:
其具体的语法格式如下:TRUNC(date[,fmt])
其中:date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去举例,Sql代码:
1.select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual;
2.时间
3.-------------------
4.2012-10-28 00:00:00
select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间from dual;
时间
-------------------
2012-10-28 00:00:00
这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。多举几个例子来凑篇幅:
按月份截断,则显示月份的第一天。
Sql代码:
1.select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
2.时间
3.-------------------
4.2008-08-01 00:00:00
select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间from dual
时间
-------------------
2012-10-01 00:00:00
按分钟截断,则秒为0。
Sql代码:
1.select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
2.时间
3.-------------------
4.2012-10-28 16:08:00
select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间from dual
时间
-------------------
2012-10-28 16:08:00
2、截断数字
格式如下:TRUNC(number[,decimals])
其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和round函数不同,对截断的数字并不四舍五入。
举例如下:
Sql代码:
1.select trunc(1234.4678,-1) from dual
2.TRUNC(1234.4678,-1)
3.-------------------
4. 1230
5.
6.select trunc(1234.4678,2) from dual
7.TRUNC(1234.4678,2)
8.------------------
9. 1234.46
Oracle,Round函数用法:
截取数字
格式如下:ROUND(number[,decimals])
其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入。
举例如下:
Sql代码:
1.select round(1234.4678,-1) from dual
2.ROUND(1234.4678,-1)
3.-------------------
4. 1230
5.
6.select round (1234.4678,2) from dual
7.ROUND (1234.4678,2)
8.------------------
9. 1234.47
Sybase中与TRUNC、ROUND函数功能相同的函数-- Convert函数:
1、日期转换
convert(datetype[(length)],expression,format)
format指定将日期转换为什么格式,有以下值:
没有世纪有世纪转换字符串中日期格式
0 or 100 mon dd yyy hh:miAM(or PM)
1 101 mm/dd/yy
2 102 yy.mm.dd
3 103 dd/mm/yy
4 104 dd.mm.yy
5 105 dd-mm-yy
6 106 dd mon yy
7 107 mon dd,yy
8 108 hh:mm:ss
9 or 109 mon dd,yyyy hh:mi:ss:mmmAM(or PM)
10 110 mm-dd-yy
11 111 yy/mm/dd
12 112 yymmdd
2、截取数字
格式如下:CONVERT( Decimal(p,s),number)
其中:number 待做截取处理的数值
decimal(p,s) p (有效位数) s (小数位数) s表示小数点后面的位数,而p则表示整数加上小数总共的位数,对截取的数字四舍五入。
举例如下:
Sql代码:
1.select convert(decimal(22,4),1
2.3456789)
2.convert(decimal(22,4),12.3456789)
3.-------------------
4. 12.3457
5.