SQL字符函数练习

SQL字符函数练习

--截取字符函数:substr(字符串,起始位置【,截取个数】)
SELECT substr('abcdefg',3,2) FROM dual;   --结果为cd
SELECT substr('abcdefg',-3,2) FROM dual;  --结果为df。起始位置可以是负数(右数第N位)

--长度字符函数:length(字符串)
SELECT length('abcdefg') FROM dual;   --结果为7

--索引字符函数:instr(字符串,查找子串【,起始位置【,第几次出现】】)
SELECT instr('abcdefgcdefgcde','cd',1,2) FROM dual; --结果为8
SELECT instr('abcdefgcdefgcde','dd',1,2) FROM dual; --结果为0。没有则返回0

--填充字符函数:lpad/rpad(字符串,固定长度【,填充字符】)
SELECT ename,lpad(ename,100) FROM emp; -- 默认填充空格
SELECT lpad('abcd',3,'#') FROM dual;   -- 结果为abc。超过固定长度的部分,删除之
SELECT rpad('',3,'%') FROM dual;       --结果为null。任何含null的表达式均为null

--修剪字符函数:trim(关键字 FROM  字符串)
SELECT trim('a' FROM 'aabbddaaccaa') AS "Trim" FROM dual;   -- 结果为:bbddaacc。修剪字符串两端的关键字
                --ltrim/rtrim(字符串【,字符】)
SELECT ltrim('   adlksaadsdadaaa  ') AS "Ltrim1" FROM dual; --结果为:'adlksaadsdadaaa  '。默认修剪空格
SELECT ltrim('   adlksaadsdadaaa      ',' ') AS "Ltrim2" FROM dual; -- Ltrim1等效于Ltrim2

--替换字符函数:replace(字符串,查找字符串【,替换字符串】)
SELECT replace('abcdefg','bcd') AS "Replace" FROM dual;  --结果为:aefg。默认替换为null(相当于删除)
SELECT replace('abcdefg','bcd','%') AS "Replace" FROM dual;   --结果为:a%efg。

--字符和编码的转换chr/ascii
SELECT chr(65) AS "Char" FROM dual;
SELECT ASCII('A') AS "ASCII" FROM dual;

--练习1:用户输入一个任意编号,查询此编号的员工
SELECT * FROM emp 
WHERE empno = &input;--'&'表示替代变量,等待用户输入后,替换'input'

--练习2:用户输入一个关键字,查询ename包含此关键字的员工(不用LIKE)
SELECT * FROM emp 
WHERE instr(ename,'&input')<>0;

 

转载于:https://www.cnblogs.com/edwardli/p/7733049.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值