Oracle row_number() over()函数

oracle 函数
1.Lpad函数和Rpad函数的用法(指定格式左右填充)
lpad(string,n,[pad_string]) rpad(string,n,[pad_string])
以左填充为例
lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string])
string
字符或者参数
n
字符的长度,是返回的字符串的数量,包括空格如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string
可选参数,这个字符串是要粘贴到string的左边,若这个参数未写,lpad函数将会在string的左边粘贴空格。
lpad(‘tech’, 5); 将返回’ tech’
lpad(‘tech’, 3); 将返回’tec’
lpad(‘tech’, 7, ‘77’); 将返回’777tech’
lpad(‘tech on the net’, 15, ‘z’); 将返回’tech on the net’
lpad(‘tech on the net’, 16, ‘z’); 将返回’ztech on the net’
2.Oracle之Chr函数返回 chr(39) <=> ’
3.length 字符串长度
4.replace 替换函数
5.concat 拼接函数
6.substr 截取函数
7.to_char to_date 日期转换函数 to_number to_char精度缺失 to_char(a.result1,‘fm990.99999’) 0必填
8. case when then else end as 类上 java switch case
9.oracle中extract()函数----用于截取年、月、日、时、分、秒
SQL> select extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from dual;

  YEAR      MONTH        DAY

 2020          3         8

10.1. 两个参数的nvl函数:nvl(str1,str2)
a. 含义:如果第一个参数不为空的话,则该表达式返回第一个参数的值,若第一个参数为空时,则返回第二个参数的值。
b. 应用场景:
写存储过程的时候,某个字段数据要求不能为空,可以给定默认值
2. 三个参数的nvl函数:nvl2(str1,str2,str3) 其实是nvl的增强版,类似java的三元运算符
a. 含义:如果str1的值为空则返回str3,如果不为空则返回str2
b. 应用场景:可以使用与字符串的拼接,如果该字符串为空则直接返回前缀,若字符串不为空,则返回前缀拼接当前字符串之后再返回。
11. 插入数据 (复制出一张表)
insert into tableNameS select * from tableName
oracle把一切都叫做对象,所以起得名称必须不一致,不然会创建失败报对象已存在
12.WM_CONCAT 字段合并函数。
13.语法格式:row_number() over(partition by 分组列 order by?排序列 desc)
row_number() over()分组排序功能:
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、? order by 的执行。这个一般在比较复杂的业务会用到

猜你喜欢

转载自blog.csdn.net/WindwirdBird/article/details/104741394