成都创新互联网站制作重庆分公司

oracle中如何取余,Oracle取余

Oracle PL/SQL 表中不同日期的数据取余

取余数简单就是%,比如select 3%2 from dual;

创新互联建站服务项目包括余姚网站建设、余姚网站制作、余姚网页制作以及余姚网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,余姚网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到余姚省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

那么得到的结果就是1.

不过我没想明白,假如13-01的数据很大,12-01的数据很小,13-01的数据达到了12-01的二倍甚至更多呗,那么这个余数有什么意义呢?

你应该是想要减法吧。

oracle存储过程问题,谢谢了

oracle里,取余用的是 mod,而不是 %,另外还要去掉 begin,end,楼主刚从sql转oracle吧

if mod(v_n.numb,2)=0 then

null; update A set numb=2*v_n.numb;

else

update A set numb=v_n.numb;

end if;

oracle中计算如何取余

取余数简单就是%,比如select

3%2

from

dual;

那么得到的结果就是1.

不过我没想明白,假如13-01的数据很大,12-01的数据很小,13-01的数据达到了12-01的二倍甚至更多呗,那么这个余数有什么意义呢?

你应该是想要减法吧。

oracle 中的几个常用函数

Oracle常用函数:

Substr  截取函数

Distinct  去除重复函数

Having 一般与group by 公用的限制语句 他不与单个值有关而是与组有关

Inner join……on   内连接语句

Abs  取绝对值的函数  Select  Asb(-100) from dual

mod 取余函数

sign 返回数的符号 正为1  0为0  负为-1

cell(n) 返回=n的最小整数 要求n必须是十进制的数

sort(n) 返回n的平方根  当n小于0是返回nan     Power(n1,n2)  返回 n1的n2次幂     Exp(n)  返回e的n次幂

LOG(n1,n2) 返回以n1为底n2的对数 n1不为0,1     Ln(n) 返回n的自然对数 n不为 0,1

ASCII(char)返回参数首字母的ASCII码值

lengtch(char) 返回字符串char 的长度

substr(‘给定的字符串’,A,B)  A表示从第几位开始截 B表示截几位,如果A为负值 从右边数到A位开始向后截B位

cast  数据类型转换函数

chartorowid 函数 将 char类型转换为ROWID 类型 但是最后长度必须满足rowid的标准18位

Rowidtochar  函数  将rowid 类型转换为char 因为rowid长度为18,故转换成的字符串也是18位。

to_char(number)  将数字类型转换成字符类型     To_char(data)    将日期转换成字符型

lnnvl (条件) 排除条件得到指定条件之外的函数

nvl(expr1,expr2)   如果expr1为null 则返回expr2  否则返回expr1

Oracle有哪些常用函数?

1.ASCII()

c1是一字符串,返回c1第一个字母的ASCII码,他的逆函数是CHR()

SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122

2.CHR(<i>)[NCHAR_CS]

 i是一个数字,函数返回十进制表示的字符

select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B

3.CONCAT(,)

 c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,

则返回null。他和操作符||返回的结果相同

select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda

4.INITCAP()

 c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。

select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici

5.INSTR(,[,<i>[,]])

 c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的

字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.

select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select INSTR('Mississippi','i',-2,3)

from dualINSTR('MISSISSIPPI','I',3,3)2

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://cxhlcq.com/article/phcpjd.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部