189 8069 5689

oracle如何取整,oracle数据库向上取整

oracle中trunc函数怎样使用?

/**************日期********************/\x0d\x0a1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18\x0d\x0a2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.\x0d\x0a3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天\x0d\x0a4.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日\x0d\x0a5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天\x0d\x0a6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天\x0d\x0a7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41 \x0d\x0a8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确\x0d\x0a/***************数字********************/\x0d\x0a/*\x0d\x0aTRUNC(number,num_digits) \x0d\x0aNumber 需要截尾取整的数字。 \x0d\x0aNum_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。\x0d\x0aTRUNC()函数截取时不进行四舍五入\x0d\x0a*/\x0d\x0a9.select trunc(123.458) from dual --123\x0d\x0a10.select trunc(123.458,0) from dual --123\x0d\x0a11.select trunc(123.458,1) from dual --123.4\x0d\x0a12.select trunc(123.458,-1) from dual --120\x0d\x0a13.select trunc(123.458,-4) from dual --0\x0d\x0a14.select trunc(123.458,4) from dual --123.458\x0d\x0a15.select trunc(123) from dual --123\x0d\x0a16.select trunc(123,1) from dual --123\x0d\x0a17.select trunc(123,-1) from dual --120

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟主机、营销软件、网站建设、下陆网站维护、网站推广。

oracle如何将decimal转换成number

可以用ceil()或floor()进行取整,ceil()向上取整,floor()向下取整

如:select ceil(215.3),floor(215.3) from dual

结果 216 215

oracle 按等级取整

oracle 按等级取整

关于Oracle取整的函数分别有以下几种:

1.取整(大)

select ceil(-1.001) value from dual

2.取整(小)

select floor(-1.001) value from dual

3.取整(截取)

select trunc(-1.002) value from dual

4.取整(舍入)

select round(-1.001) value from dual

oracle查询出来的数据默认取整怎么改

上面有小数,下面没小数,没看出来有什么问题 你需要什么结果

如果余的小数想取整,那可以套个取整函数 进ceil() 舍floor() 四舍五入round() 截取trunc()

oracle 怎么向下取整

ceil(x) 向上取整

floor(x) 向下取整

round(x,n) 当n=0时就是取整,四舍五入法则

x是你的小数

Oracle函数的使用

接收字符返回字符或数值时可以使用dual伪表

1、把小写字符转换成大写

select supper(“smi”) form dual

2、把大写转换成小写

lower(“SMI”)

3、首字母大写

initcap(“smi”)

4、字符串的连接可以使用concat,也可以使用    建议使用

concat(“hello”“world”) 结果为helloworld

5、字符串的截取,使用substr,第一个参数为字符串,第二个参数是索引,第三个参数结束索引(开始索引使用0和1效果一样)

substr(hello,0,3) 结果为hel

6、获取字符串长度

length(“hello”)

7、字符串替换,第二个参数为被替换的字符串,第三个是替换的字符串

replace(“hello”,“l”,“x”) 结果为hexxo

1、四舍五入函数ROUND()

默认取整,可以指定保留位数

round(12.523)  结果为13

round(12.537,2) 结果为12.54

2、取整TRUNC

默认全部去掉小数,可以指定位数

trunc(12.789) 结果为12

3、取余数MOD

mod(10,3) 结果为1

oracle中提供了很多和日期相关的函数,包括日期的加减

日期 - 数字 =日期

日期 - 日期 = 数字(天)

1、如:查询员工进入公司的走数

(sysdate - 入职日期)/7

注:当前日期查询select sysdate form dual

2、查询所有员工进入公司的月数

获取两个时间段的月数使用months_between(sysdate,入职日期)

3、获取几个月后的日期:add_months()

如:获取员工三个月后的日期

add_months(sysdate,3)

4、如求出下星期一是什么时候

指定给出下次某日期数next_date()

next_date(sysdate,“星期一”)

5、求日期的最后一天last_day()

求出本月的最后一天

last_day(sysdate)

1、to_char字符串转换函数

如:将所有员工的入职日期的年、月分开

注:在划分时需要通配符

年:yyyy  月:mm  日:dd

时:HH 分:mi  秒:ss

定义时间格式

to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)

在10以下的月数前面会默认加上前导零,去除加上fm

to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)

to_char还可以给数字做格式化

如将员工的工资按三位“,”分隔

to_char(工资,“99,999”) 9代表数字

如果想在钱上加上国家符号

美元使用

中文使用l

to_char(工资,“99,999”)

to_char(工资,“l99,999”)

2、to_number数值转换函数,将字符串转换成数值

to_number(“10”) +to_number(“10”)

3、to_date日期转换函数,将字符串数据转换成日期类型

to_date(“1997-05-12”,“YYYY-mm-dd”)  1997/05/12

1、空值处理 nvl

如果在查询的时候存在空值的情况可以使用

nvl(comm,0) 当comm的列值为空时,用0代替

2、decode函数

该函数类似于if ...else if ...else

语法:decode(列名/值,search1,result1,search2,result2,default)

decode(中国,中国,我是中国,美国,我是美国,其他)

如果为中国返回我是中国,为美国返回我是美国,为其他字符则返回其他。

3、case when 与decode差不多

语法 case when city=中国 then 我是中国

          when city=美国 then 我是美国

            else 其他


当前题目:oracle如何取整,oracle数据库向上取整
标题链接:http://jkwzsj.com/article/dsdjipp.html

其他资讯