sql 函数的罗列

来源:互联网 发布:淘宝模拟试衣间在哪了 编辑:程序博客网 时间:2024/04/29 09:15

字符函数 

chr()返回给定数值的字符

lower(全小写)

upper(全大写) 

initcap(首字母大写)

concat(str1,str2,str3......) (拼接字符串)

substr(string,n,m) (截取从第n个开始到m位置)

length(长度)

instr(str1,str2,[a,b])(从a位置查找 str2在str1第b次出现的位置,a、b默认为1)

lpad(str1,n,m) (如果n小于str1的长度,则返回str1前n个字符,如果n大于str1的长度,则返回左填充m的str1)

rpad(str1,n,m) (如果n小于str1的长度,则返回str1前n个字符,如果n大于str1的长度,则返回右填充m的str1)

trim(去掉两边的空格)(但测试还出现例(trim('h' from 'hello'))可去掉h或o的首尾字符,仅能一次去掉一个)

ltrim(),rtrim()一般是一个参数,是去掉空格的,但有第二个参数时,就是去掉左边或右边的指定值

replace(str1,n,m)(用m替换str1中的n)

translate(源字符串,目标字符串,目的字符串)将返回目的字符串代替源字串中出现的目标字符串,这个函数区分大小写

数字函数

abs()取绝对值

ceil()返回给定参数的最小整数

floor()返回给定参数的最大整数

cos  cosh sin sinh tan tanh

exp()  返回 以e为低数的参数为指数的幂值

ln()  log()对数

sign()  返回 正数为1,负数为-1,0为0

sqrt()开平方

power(n,m)返回以n为低数,m为指数的值

round(按照指定的小数位四舍五入)(注意round(46,46,-1)=50)

trunc(按照指定的小数位截到)(注意trunc(46.46,-1)=40)

mod(求余)

日期函数

months_between(两个日期之间有多少月)

add_months(指定日期加月)

next_day(‘日期’,‘weekday’)(指定日期下一个日期)(当第二个参数传的星期数比现有星期数小的时候,会返回下一个星期的日期;当第二个参数所传的星期数比 现有的星期数大的时候,则会返回本周的相应星期日期)

last_day(月最后一天)

new_time()调整新的时区

round(日期舍入)

trunc(日期截取)

转换函数

to_char(date,'格式')(yyyy,year,mm,month,mon,(fm)dd,dy,day)(9)(0)($)(L)(.)(,)(select to_char(round((sal/7),2),'99G999D99','nls_numeric_characters='',.'' ') "fromat sal" from emp;)

to_char(sysdate,'hh') 返回的是当前第几小时

to_char(sysdate,'mi') 返回的是当前小时第几分钟

to_char(sysdate,'ss') 返回的是当前小时第几秒

to_char(sysdate,'day') 返回的当前日期星期几

to_char(sysdate,'mm') 返回的是当前月份

to_char(sysdate,'yy') 返回的是当前年后两位

to_char(sysdate,'yyyy') 返回的是当前年

to_char(sysdate,'ddd') 返回的是今年的第几天
to_char(sysdate,'dd') 返回的是这个月的第几天
to_char(sysdate,'d') 返回的是这周的第几天

to_date()

to_number()

其它函数

greatest()返回首字母或数字最大的

least()返回首字母或数字最小的

user返回当前用户

空值函数

nvl(exp1,exp2)如果exp1为空返回 exp2, 否则返回 exp1

nvl2(exp1,exp2,exp3)如果exp1不为空,返回exp2 为空返回exp3

nullif(exp1,exp2)如果  exp1 和exp2相同 则返回null 否则返回exp1

coalesce(exp1,exp2......)如果第一个为空,就返回第二个

条件表达式

case表达式,case exp when exp1 then exp1 when exp2 then exp2 else exp3 end

decode表达式,decode(col ,search1,return1,search2,return2,default)

分组函数

avg sum min max count stddev(标准差) variagce(方差)

distinct

group by having

0 0