sql——字符串处理
文章目录
- 1、遍历字符串
- 2、嵌入引号
- 3、字符串中逗号出现的次数
- 4、删除不想要的字符
- 5、分离数字和字符数据
- 6、判断含有字母和数字的字符
- 6、提取姓名的首字母
- 思考题
1、遍历字符串
遍历KING这个字符串,每行打印一个
借助一个辅助表(辅助表的行数要大于KING的长度),这里面t10(有十行数据,如下)。
select substr(e.ename,iter.pos,1) from (select ename from emp where ename="KING") as e,(select id as pos from t10 ) iter where length(e.ename)>=iter.pos;
select substr(e.ename,1,length(e.ename)-pos+1) from (select ename from emp where ename="KING") as e,(select id as pos from t10 ) iter where length(e.ename)>=iter.pos;
2、嵌入引号
在字符串常量中嵌入引号
select 'g"day mate' from t1 union all
select 'beavers"teech' from t1 union all
select '"'from t1;
3、字符串中逗号出现的次数
统计字符串中有多少个逗号?
思路:(字符串的总长度-字符串的去掉逗号的总长度)/一个逗号的长度。
select (length('10,CLARK,MANAGER')-length(replace('10,CLARK,MANAGER',',','')))/length(',') as cnt
from t1;
length() //求字符串长度
replace(字符串,要替换的字符串,目标字符串)
4、删除不想要的字符
删除所有的元音字母A E I O U
select replace(replace(replace(replace(replace(ename,'A',''),'E',''),'I',''),'O',''),'U','') as sal from emp;
oracle 可以使用translate 字符集的替代
replace(translate(ename,'AEIOU','aaaaa'),'a','')
5、分离数字和字符数据
将数据中的数字数据和字符数据分开,怎么办?
oracle
1)得到数字
将字母替换成同一个字母,再用replace函数替换为空。
2)得到字母
将数字替换成同一个数字,再用replace函数替换为空。
技巧函数rpad
RPAD(str,len,padstr)
//返回字符串str,用padstr右填充字符串,长度为len个字符。 如果str大于len,则返回值缩短为len个字符。
对于mysql 只能用replace嵌套
6、判断含有字母和数字的字符
从表里筛选出部分行数据,筛选条件是只包含字母和数字。
select ename from emp where ename regexp '[^0-9a-zA-Z]'=0;
regexp
//正则匹配
mysql方法
6、提取姓名的首字母
把姓名编程首字母形式,比如LeBron James就可以变成L.J.
trim()//去掉空格
ltrim()// 去掉左空格
rtrim()//去掉右空格
CONCAT(str1,str2,…)//返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。可以有一个或多个参数。
CONCAT_WS(separator,str1,str2,…)//使用函数CONCAT_WS()。使用语法为:CONCAT_WS(separator,str1,str2,…)
GROUP_CONCAT()函数返回一个字符串结果,该结果由分组中的值连接组合而成。
substring_index(str,delim,count)
//str:要处理的字符串
//delim:分隔符
//count:计数
//例子:str=www.wikibt.com
//substring_index(str,'.',1)
//结果是:www
//substring_index(str,'.',2)
//结果是:www.wikibt
//substring_index(str,'.',-1)
//结果是com
substr(string string,num start,num length);
//string为字符串;start为起始位置;length为长度。mysql中的start是从1开始的.
select (case when thenelse end ) as A
思考题
把行数据编程以某种符号分割符的列表,比如逗号
select DEPTNO,group_concat(EMPS) from deptment group by DEPTNO;
sql——字符串处理相关推荐
- oracle空格太多,Oracle Sql字符串多余空格处理方法初记
(一)问题提出: 不知道大家有没有遇到过这样的情况,同样的sql在pl/sql下面执行正常,但是拷贝到表字段中,点击提交的时候老是会报ORA-01480: STR 绑定值的结尾 Null错误,如图: ...
- 用JavaScript实现简单的excel列转sql字符串
老惯例,先简单解说一下再上代码.有时候会有这样的业务场景,即需要在sql的某些条件里面大量用到in或者not in进行筛查. 我们知道,in里面的内容其实就是字符串然后用逗号隔开. 这个工具的作用就是 ...
- oracle绑定值的结尾,Oracle Sql字符串多余空格处理方法小记
(一)问题提出: 不知道大家有没有遇到过这样的情况,同样的sql在pl/sql下面执行正常,但是拷贝到表字段中,点击提交的时候老是会报ORA-01480: STR 绑定值的结尾 Null错误,如图: ...
- sql字符串函数_SQL字符串函数概述
sql字符串函数 In this article, we will try to give a brief overview of the SQL string functions used in S ...
- sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...
- sql字符串函数_另一堆SQL字符串函数
sql字符串函数 This article is a supplement to the previously published article, An overview of SQL String ...
- ORA-17129=SQL 字符串不是DML 语句
ORA-17129=SQL 字符串不是DML 语句 oracle这个错误的意思是 select 不可以算DML 数据操纵语言(Data Manipulation Language, DML)是SQL语 ...
- 验证选择每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止...
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 2013-5-4 如何验证DropDownList是不是已选择 上周在项目开辟中碰到这样一个问题,在做础基据数管理时,须要停止据数的 ...
- server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
4.1.查询的类型 declare @value as int set @value = 50 select 'age:'as age,2008 years,@valueas va --这种查询时跟 ...
- mysql sql 字符串字段保留数字_SQL字符串以及数字常用操作汇总
SQL字符串以及数字常用操作汇总 更新时间:2013年06月11日 09:05:12 作者: 本篇文章是对SQL字符串以及数字的常用操作进行了详细的总结与分析,需要的朋友参考下 --将字符串中从某 ...
最新文章
- saccharomyces_cerevisiae 酿酒酵母
- PreparedStatement和CallableStatement都可以调用存储过程
- 修改oracle+sga+size,oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
- 细说Mammut大数据系统测试环境Docker迁移之路
- 最大似然估计(MLE:样本观测总体参数)是如何工作的?
- JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径
- webplugin 没有画面_[问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css
- MVP on Board 没用小技巧
- 5.19 - Stacks and Queues
- Maven入门详解与安装配置
- 维度退化(数据仓库)
- C++ map的基本和高级操作
- sbt oracle,Oracle10gR2 ORA-19554的SBT_TAPE
- Iocomp控件 Iocomp安装教程 Crack 下载
- Linux 命令(223)—— reboot 命令
- 论文阅读报告:Taxonomy-aware feature engineering for microbiome classification,Mai Oudah and Andreas Hen
- yolov5ds-yolov5做分割(尝试ing)
- Linux篇 三、香橙派Zero2搭建Qt环境
- Unity Shader入门精要 第2章 读书笔记
- svn搭建报错集合(http访问)