orcale数据库-----------------2。字符函数

字符函数:简化操作———————————————单行函数、多行函数

单行函数:操作单个数据

多行函数:操作的数据是多个

——————————————————————————————————————————

单行函数

——————————————————————————————————————

字符函数

lower('字母')  ----------->转小写:

upper('字母')------------>转大写

initcap('字母')----------->首字母大写

字符控制函数:concat('a','b')链接

substr(a,b) 从a中,b位开始到最后

substr(a,b,c)     从a中,b位开始,取c个长度

length('汉字')   字符数

lengthb('汉字')   字节数

instr(a,b)  在a中查找b,返回其位置 ,没有返回则是0

lpad('字母',10,'符号')    左填充 ,例如:lpad('abc',10,'*')   ------->abc共三位,需要10位,左填7个*

rpad('字母',10,'符号') 右填充

trim('H',from 'Hello WorldH') from dual ;  ---->去掉首尾的H

replace('Hello world','l','*') ---->将l替换成*

————————————————————————————————————————

数学函数

Round(45.345,2) ------->将45.345保留2位小数,正数是小数区,负数是整数区

trunc(数字)    ---------->向下取整

————————————————————————————————————————

日期函数

select sysdate from dual;          日期默认输出格式:MM-DD-YY

select to_char(sysdate,'yyyy-mm-dd')    ----->格式  YYYY-MM-DD

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  from dual;    ----------->输出格式:YYYY-MM-DD HH(24小时制) :MI:SS

计算的天数可以相加减,但是日期不能相加

months_between()相差天数,例如:select ename ,hiredate months_between (sysdate,hiredate) from emp;计算hiredate和sysdate相差的月份

add_months()相加月份----->例如:select add_months(sysdate,53) from dual ; 表示53个月后

last_day()   这个月份的最后一天,例如:select last_day(sysdate) from dual ; 表示一个月的最后一天

next_day() 下一个星期几 ,例如:select next_day(sysdate,'星期六') from dual; 下一个星期六

round(时间,'年或月或日')  如果是年,按月算,如果是月,按日算

————————————————————————————————————————

转换函数

to_char(date或number,转换格式)

日期转换:YYYY----年,MM------月,DY-------星期,DD--------日,可以在中间加入字符串

数字转换:9代表数字,L代表本地货币, .小数点,   ,千位符

例如:to_char(123456,'L9,999.99') ----->¥123.456.00

————————————————————————————————————————

通用函数

NVL(a,b)   ------------------->如果a为null,则返回b,如果a不为null,返回a

NVL2(a,b,c) ---------->当a=null的时候,返回c,否则返回b

nullif(a,b) ----------->当a=b时,返回null,否则返回a

coalesce()   ------------->从左到右找到第一个不为null的值

————————————————————————————————————————————————————————

条件表达式

IF-THEN-ELSE

在SQL语句中实现if-else语句

CASE 表达式   SQL99格式

DECODE  表达式      orcale自己的语法

CASE  :例如:

CASE 表达式 WHEN 表达式 THEN 返回值 WHEN 表达式 THEN 返回值 WHEN 表达式 THEN 返回值 ELSE 返回值

DECODE :例如:

DECODE (表达式,'条件一',返回值1,'条件二',返回值2,‘条件三’,返回值3)

————————————————————————————————————————————————

分组函数

AVG() COUNT() MAX() MIN() SUM()

在select 语句中,包含字段若不在多行函数中,那么必须出现在分组函数中

例如:select a,b,c,d ,count(e) from emp group by a,b,c,d

与它相反,在group by 中出现的字段,可以不出现在select包含的字段中,例如:

select a,b,c count(e) from emp group by a,b,c,d

————————————————————————————————————————————————

多个分组函数过滤使用having

where和having的区别:

where 后面不能使用多行函数,where在from后面,having在group by后


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值