• 让天下没有难学的技术
    多数学员都来自推荐,这就是口碑的力量

Java编程常见函数之字符串函数

字符串函数

案例:

使用UPPER()/LOWER()函数转换字符型数据大小写。
忽略大小写的查询EMP表中姓名是smith的信息(提前把EMP表中7369员工的姓名从SMITH更新为smit)

— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
— 更新数据UPDATE EMP SET ENAME =’smith’ WHERE EMPNO=7369; — 在严格区分大小写的情况下,下面的语句时无法查询到数据的SELECT * FROM EMP WHERE BINARY ENAME = ‘SMITH’; — 可以使用LOWER()SELECT * FROM EMP WHERE BINARY LOWER(ENAME)= LOWER(‘SMITH’) ; — 也可以使用UPPER()函数SELECT * FROM EMP WHERE BINARY UPPER(ENAME)= “SMITH”;
使用CONCATA()把多个字符型的数据拼接到一起。
将ENAME大写,职位小写,最后使用_拼接在一起,显示为 ‘姓名_职位”

SELECT CONCAT( UPPER(ENAME),”_” , LOWER(JOB)) AS ‘姓名_职位’ FROM EMP;
使用SUBSTR()/SUBSTRING()从一个字符串中截取子串
java中索引都是从0开始的 ,sql语言中 索引都是从1开始的

SELECT SUBSTR(“HelloWorldMySql” ,6); — 从6截取到字符串的末尾 “WorldMySql”

SELECT SUBSTR(“HelloWorldMySql” ,6,2); — 从6开始截取,截取2个字符,结果是 “Wo”

将ENAME首字符大写,其他字符小写,并且JOB首字符大写,其他字符小写,最后拼接在一起

SELECT CONCAT( UPPER( SUBSTR(ENAME,1,1)) ,LOWER(SUBSTR(ENAME,2)) ,”-” ,Upper(SUBSTR(JOB,1,1)), LOWER(SUBSTR(JOB,2))) “员工姓名-职位”FROM EMP;
SELECT CONCAT( UPPER( SUBSTR(ENAME,1,1)) ,LOWER(SUBSTR(ENAME,2)) ,”-” ,Upper(SUBSTR(JOB,1,1)), LOWER(SUBSTR(JOB,2))) “员工姓名-职位”FROM EMP;
SELECT CONCAT( UPPER( SUBSTR(ENAME,1,1)) ,LOWER(SUBSTR(ENAME,2)) ,”-” ,Upper(SUBSTR(JOB,1,1)), LOWER(SUBSTR(JOB,2))) “员工姓名-职位”FROM EMP;
instr 获取子串在字符串中第一次出现的索引
SELECT INSTR(“HelloMySqlWorldMySql”,”MySql”) “INDEX”
lpad 用指定的字符左填充到指定的位数
SELECT LPAD(“Hello”,10,’*’); — 结果是”*****Hello”
rpad 用指定的字符左填充到指定的位数
SELECT RPAD(“Hello”,10,’*’); — 结果是”Hello*****”
trim 去前后空格或指定字符
去掉指定字符串首尾的空格,但是不会去除中间的空格
SELECT LENGTH(‘ He llo ‘) ‘原来的长度’ ,TRIM(‘ He llo ‘) ,LENGTH(TRIM(‘ He llo ‘)) ‘去掉空格之后的长度’
SELECT LENGTH(‘ He llo ‘) ‘原来的长度’ ,TRIM(‘ He llo ‘) ,LENGTH(TRIM(‘ He llo ‘)) ‘去掉空格之后的长度’
SELECT LENGTH(‘ He llo ‘) ‘原来的长度’ ,TRIM(‘ He llo ‘) ,LENGTH(TRIM(‘ He llo ‘)) ‘去掉空格之后的长度’
去除指定字符串前后特定的字符串
SELECT TRIM(BOTH ‘好’ FROM “好好好好Hel好lo好好”); — BOTH可以忽略,默认去除前后的指定字符SELECT TRIM(LEADING ‘好’ FROM “好好好好Hel好lo好好”); — 去除字符串前面指定字符
SELECT TRIM(BOTH ‘好’ FROM “好好好好Hel好lo好好”); — BOTH可以忽略,默认去除前后的指定字符SELECT TRIM(LEADING ‘好’ FROM “好好好好Hel好lo好好”); — 去除字符串前面指定字符
length 获取字符型数据的个数
查询员工的姓名及其名字的长度

SELECT ENAME ,LENGTH(ENAME) ‘名字长度’ FROM EMP;
replace(str, a, b)用字符串b替换字符串str中所有出现的字符串a
— 把字符串中的”MySql”替换为”Oracle”SELECT REPLACE(“HelloMysqlWorldMysql”,”Mysql”,”Oracle”);
— 把字符串中的”MySql”替换为”Oracle”SELECT REPLACE(“HelloMysqlWorldMysql”,”Mysql”,”Oracle”);

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注