欢迎投稿

今日深度:

数据库sql语句函数的用法,

数据库sql语句函数的用法,


sql函数(单行函数:处理单行数据;组函数:处理多行数据)
1.字符函数
①concat(string1,string2)拼接两个字符串
②initcap (string) string的每个单词首字母大写
③Lower(string) 以小写形式返回string
④lpad(string1,index,string2) 在string1左边填充string2到第index位置
⑤rpad(string1,index,string2) 在string1右边填充string2到第index位置
⑥ltrim/rtrim/(string1,string2) 删除左边或者右边出现的string2字符串
trim (A from B)从B的左边和右边删除A字符串
⑦substr(string,1,2) 提取字符串的一部分
⑧upper(string) 以大写形式返回string
⑨instr(string,’a’) 查找某个字符串在字符串string出现的位置
⑩length()字符串的长度

2.数字函数
①round(numble,n) 返回小数点后n 位四舍五入后的值
②trunc(numble,n)) 截取小数点后n位numble的值
③mod(x,y)返回x除以y的余数
④ceil(numble) 向上取整
⑤floor(numble)向下取整

3.日期和时间函数
①Sysdate 返回当前日期
select sysdate from dual; 最近日期
select round(sysdate) from dual;最近零点日期
select round(sysdate,’day’) from dual;最近星期日
select round(sysdate,‘month’) from dual;最近月初
select round(sysdate,‘q’) from dual;最近季初
Select round(sysdate,’year’) from dual;最近年初
Select trunc(sysdate) from dual;今天日期
Select trunc(sysdate,’day’) from dual;本周星期日
Select trunc(sysdate,’month’) from dual;本月初
Select trunc(sysdate,’q’) from dual;本季初日期
Select trunc(sysdate,’year’) from dual;本年初日期

②add_months(d,x) 返回加上x月后的日期d的值
select sysdate,add_months(sysdate,3) hz from dual;
③last_day(d) 返回的所在月份的最后一天。d为日期
④moths_between(date1,date2)返回date1和date2之间月的数目

从日期中加或减一个数值,以得到一个日期结果值
select sysdate+2 from dual;
两个日期相减以便得到他们相差多少天
select ename,round((sysdate-hiredate)/7) weeks from emp where deptno=10

4.转换函数
1.隐式转换(可用于:字符和数字的相互转换 &字符和日期的相互转换)
①to_char
例:将日期转化为字符串
Select to_char(sysdate, ‘dd-mon-yy hh24:mi:ss’) “Rigth Now” from dual;
例:将数字转化为字符串
select to_char(sal, ‘$99,999.9999’) salary from emp where ename = ‘ALLEN’;
②to_number
例:将字符串转化为数字
select to_number(‘11.231’,‘999.999’) from dual;
③to_date
例:将字符串转化为日期
select to_date(‘2004-09-19’,‘yyyy-mm-dd’) from dual;

5.其它函数
1.nvl(值,如果值为null则替换的值)
2.nvl2(值,为空取值,不为空取值)
3.Decode (值,等于条件1, 值1, 等于条件2,值2,default)
4.case when 条件取值
Case when 条件判断 then 结果 when 条件判断 then 结果
Else default end

6.组函数
组函数仅在选择列表和Having子句中有效
1.avg() 返回某列的平均值–>在数字类型数据中使用,不处理空值
2.min() 返回某列的最小值–>适用于任何数据类型,不处理空值
3.max() 返回某列的最大值–>适用于任何数据类型,不处理空值
4.sum() 返回某列值的和–>在数字类型数据中使用,不处理空值
5.count() 返回某列的行数–>会处理空值

6.数据分组:
按以下顺序排列:
SELECT(column, group_function) 要返回的列或表达式
FROM table 从中检索数据的表
[WHERE condition] 行级过滤(不能在 WHERE 子句中限制组. 使用Having 对分组进行限制)
[GROUP BY group_by_expression] 分组说明(必须出现在where子句之后,order by 子句之前。)
[having condition] 组级过滤
[ORDER BY column] 输出排序顺序(如没有,则默认隐式按降序排列)

7.用group by 子句进行分组,group by 子句可以包含任意数目的列

8.由于组函数基本上不能处理空值,如需处理空值,一般会配合nvl函数使用。如果分组列中具有null值,则null将作为一个分组返回。如果列中有多行null值,他们将分为一组。
例:
select avg(sal) from emp group by deptno having avg(sal) > 1000;

9.实际执行顺序:
from --> where–> group by–> having–> select -->distinct -->order by

www.htsjk.Com true http://www.htsjk.com/teradata/31785.html NewsArticle 数据库sql语句函数的用法, sql函数(单行函数:处理单行数据;组函数:处理多行数据) 1.字符函数 ①concat(string1,string2)拼接两个字符串 ②initcap (string) string的每个单词首字母大写...
相关文章
    暂无相关文章
评论暂时关闭