oracle中常用的sql、函数
- TO_DATE,EXISTS,CASE…WHEN 函数
- LISTAGG 函数与 OVER PARTITION BY 函数
- Oracle数据库中全库查找某个值是否存在
- oracle的sql语句规范,创建列、添加列、删除列、函数等
- 返回指定日期与当前日期的时间差函数
本文涉及到的Oracle函数有:UPPER、LOWER、INITCAP、CONCAT、SUBSTR、LENGTH、REPLACE、INSTR、LPAD、RPAD、TRIM、ROUND、MOD、TRUNC、MONTHS_BETWEEN、ADD_MONTHS、LAST_DAY、NEXT_DAY、TO_CHAR、TO_DATE、TO_NUMBER、NVL、NULLIF、DECODE、NVL2、COALESCE 、CASE WHEN、COUNT、AVG、MAX、MIN、SUM、GROUP BY、Having
一,单行函数—字符函数
UPPER
,字符串转大写函数
SELECT UPPER ('abcde') FROM dual ; --ABCDE
LOWER
,字符串转小写函数
SELECT LOWER('ABCDE') FROM dual ; --abcde
INITCAP
,字符串每个单词的首字母大写
SELECT INITCAP('abc, def') FROM dual; --Abc, Def
CONCAT
,字符串连接函数
SELECT CONCAT('a', 'b') FROM dual; --ab
SELECT 'a' || 'b' FROM dual; --ab
SUBSTR (string str, int a, int b)
,字符串截取函数
只传入两个参数时,str 为需要截取的字符串,a为从第a个下标开始截取后面所有的字符串。传入三个参数时,str为需要截取的字符串,a表示字符串截取的位置,b表示截取字符串的长度。
注:当a等于0或1时,都是从第一位开始截取)
SELECT SUBSTR('abcde', 3) FROM dual; --cde
SELECT SUBSTR('abcde', 3, 2) FROM dual; --cd
LENGTH
,计算字符串长度
SELECT LENGTH('abcde') FROM dual; --5
REPLACE
,字符串替换函数
SELECT REPLACE('abcde', 'a', 'A') FROM dual; --Abcde
INSTR
,寻找元素下标
格式一:instr( string1, string2 )
,instr(源字符串, 目标字符串),表示第一次出现string2
,同时第一次出现string2
首字母的位置。
格式二:instr( string1, string2, start_position, nth_appearance)
,instr(源字符串, 目标字符串, 起始位置, 匹配序号),表示从string1
的第start_position
开始,寻找第nth_appearance
次出现string2
的位置序号。
SELECT INSTR('Hello World', 'or') FROM dual; --寻找在'Hello World'中首次出现'or', 且此时'o'的位置序号, 8
SELECT INSTR('helloworld', 'l', 2, 2) FROM dual; --返回结果:4, 在"helloworld"的第2号位置开始查找,查找第二次出现的“l”的位置
SELECT INSTR('helloworld', 'l', 4, 2