Oracle的函数,功能操作集合整理

1.语法

1.1.decode函数

  • 语法
    decode(条件,值1,返回值a,值2,返回值b,...值n,返回值n,缺省值)

  • 含义
    若条件=值1,则
    返回值a
    若条件=值2,则
    返回值b
    ……
    若条件!=值1,也!=值2,则
    返回缺省值(也可以说默认值)

  • 3.decode函数是Oracle数据库独有的

1.2.abs()函数

abs函数返回的值就是绝对值

1.3.row_number函数

  • 1.语法
    row_number() over(partition by 列名1 order by 列名2 )的使用

  • 2.含义
    表示根据列名1分组,然后在分组内部根据列名2排序并生成一个名为row_number的列,该列的值就表示每组内部排序(默认升序排序)后的顺序编号,可以用于去重复值

  • 3.事例

    • 3.1 sql语句
      SELECT name,age,detail,ROW_NUMBER() OVER(PARTITION BY name ORDER BY age DESC) FROM TEST_Y;
      在这里插入图片描述
  • 注 这里的ROW_NUMBER()可以定义别名,
    • 例如row_number==() over(partition by 列名1 order by 列名2 desc) as row这里as可以省略
  • 这里的去重就是因为row_number会把重复的数据按1、2、3、4……的顺序进行排序,定义别名row后通过where row = 1就可以进行去重了

1.4.TRANSLATE函数

  • 1.语法:TRANSLATE(char, from, to)
  • 2.用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
    三个参数中有一个是空或者为null,返回值也将是空值。
  • 3.例子:
    select translate('abcde','agb','333') from dual
    结果:3b3de
    字符串’abcde’ 中有’agb’的a和b,所以to中的首尾字符有效(from的a(0)g(1)b(2),to的3(0)3(1)3(2)),而没有的自然不替换
    select translate('abcde','ae','343') from dual
    结果:3bcd4
    将a跟e替换成3与4(from的a(0)e(1),to的3(0)4(1)3(2))
    select translate('abcde','ace','3') from dual
    结果:3bd
    将a替换成3(from的a(0)c(1)e(2),to的3(0)),然后ce因为跟to的字符长度对应不上,所以去除

1.5.REPLACE函数

  • 1.语法
    Replace (Expression, Find, ReplaceWith [, Start] [, Count] [, Compare])

在这里插入图片描述在这里插入图片描述

  • 2.例子
    select replace('abcde','abc','343') from dual
    结果:343de
    select replace('abcde','a','343') from dual
    结果:343bcde
    select replace('abcde','a') from dual
    结果:bcde
    select replace('abcde','sss','343') from dual
    结果:abcde
    select replace('abcde','as','34') from dual
    结果:abcde

在这里插入图片描述

1.6 NVL()函数

  • 1.语法
    nvl(Expression1,Expression2)
    Expression1null 值,则返回 Expression2
    否则返回Expression1
  • 2.例子
    select nvl('字段A','0') from dual
    若字段为null则
    结果:0

2.功能操作

2.1.删除一张表中的某个列

ALTER TABLE 表名 DROP COLUMN 列名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值