sql 语句系列(字符串之父与子之间)[八百章之第十二章]

前言

介绍字符串和其子字符串直接的使用。

判断含有子字母的字符串

select * from emp

在mysql中:

select emp.ename from emp where emp.ename REGEXP '[^0-9a-zA-Z]'=0

在mysql 中是真的很愉快了。

sql service

select * from emp_copy

select x.emp,x.id from (select emp_copy.emp,SUBSTRING(emp_copy.emp,t100.ID,1) as c,ASCII(SUBSTRING(emp_copy.emp,t100.ID,1)) value, emp_copy.id from emp_copy,T100 where LEN(emp_copy.emp)>=T100.ID) x
group by x.id,x.emp
having min(x.value) between 48 and 122

通过ascii来识别。

提取姓名的首字母

select * from emp

英文名一般是这样的firstname lastname,这时候不考虑middle name,因为这仅仅是一个例子。

sql 语句十分简单,如果有任何疑问可查询各个函数的作用。

select TRIM(TRAILING '.' from CONCAT_WS('.',SUBSTR(SUBSTRING_INDEX(emp.ename,' ',1),1,1) ,SUBSTR(SUBSTRING_INDEX(emp.ename,' ',-1),1,1) )) AS ename
from emp

按照子字符串排序 与 按照数字排序

select EMP.ENAME  from emp order by SUBSTRING(EMP.ENAME,2,2)

数字也一样,只是说把字符串去除了,可参考我上一章节。

posted @ 2020-03-28 10:49  敖毛毛  阅读(171)  评论(0编辑  收藏  举报