1、RTRIM()删除左边出现的字符串
select LTRIM('abdcdabddee','abc') from dual;
2、RTRIM()删除右边出现的字符串
select RTRIM('abdcdabddee','abc') from dual;
3、在列的左边粘贴0字符
SELECT LPAD('100',8,'0') FROM emp;
rpad('tech',2); 将返回' te'
4、将替换字符改为修改
replace('替换字符串', '替换', '修改')
5、 查找字符串位置
select INSTR('CORPORATE FLOOR','OR', 3, 2) as loc from dual
INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串 subString:要查找的子字符串 position:查找的开始位置 ocurrence:源字符串中第几次出现的子字符串instr('sss:aa',':') ,返回:所在位置索引。
6、字符串截取
select substr(to_char(sysdate, 'yyyy-mm-dd HH:mi:ss'), 12, 5) as time from dual
SUBSTR(string,start_position,[length])
解释:string 源字符串 start_position 开始位置(从0开始) length 可选项,子字符串的个数
7、拼接字符串
select concat('拼接', '字符串') as str from dual //多个则需要嵌套
select '拼接'||'字符串' as str from dual
8、字符转数字
to_number(LTRIM(MAX('007'),'0'))
9、日期比较
(1)、在XX之前
//to_date(字符,‘格式’)
select * from up_date where update <= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
(2)、范围时间段
between date1 and date2;
date1>=to_date('','') and to_date('','')<=date2
(3)、返回:2004-10-17 00:00:00.000 向日期加上2天
select dateadd(day,2,'2004-10-15')
(4)、datepart 返回代表指定日期的指定日期部分的整数
SELECT DATEPART(month, '2004-10-15') --返回 10
(5)、datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
(6)、datediff 返回跨两个指定日期的日期和时间边界数
select datediff(day,'2004-09-01','2004-09-18') --返回:17
下一篇