文章目录

  • 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——字符串处理相关推荐

  1. oracle空格太多,Oracle Sql字符串多余空格处理方法初记

    (一)问题提出: 不知道大家有没有遇到过这样的情况,同样的sql在pl/sql下面执行正常,但是拷贝到表字段中,点击提交的时候老是会报ORA-01480: STR 绑定值的结尾 Null错误,如图: ...

  2. 用JavaScript实现简单的excel列转sql字符串

    老惯例,先简单解说一下再上代码.有时候会有这样的业务场景,即需要在sql的某些条件里面大量用到in或者not in进行筛查. 我们知道,in里面的内容其实就是字符串然后用逗号隔开. 这个工具的作用就是 ...

  3. oracle绑定值的结尾,Oracle Sql字符串多余空格处理方法小记

    (一)问题提出: 不知道大家有没有遇到过这样的情况,同样的sql在pl/sql下面执行正常,但是拷贝到表字段中,点击提交的时候老是会报ORA-01480: STR 绑定值的结尾 Null错误,如图: ...

  4. sql字符串函数_SQL字符串函数概述

    sql字符串函数 In this article, we will try to give a brief overview of the SQL string functions used in S ...

  5. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

  6. sql字符串函数_另一堆SQL字符串函数

    sql字符串函数 This article is a supplement to the previously published article, An overview of SQL String ...

  7. ORA-17129=SQL 字符串不是DML 语句

    ORA-17129=SQL 字符串不是DML 语句 oracle这个错误的意思是 select 不可以算DML 数据操纵语言(Data Manipulation Language, DML)是SQL语 ...

  8. 验证选择每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止...

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 2013-5-4 如何验证DropDownList是不是已选择 上周在项目开辟中碰到这样一个问题,在做础基据数管理时,须要停止据数的 ...

  9. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...

    4.1.查询的类型 declare @value as int set @value = 50 select  'age:'as age,2008 years,@valueas va --这种查询时跟 ...

  10. mysql sql 字符串字段保留数字_SQL字符串以及数字常用操作汇总

    SQL字符串以及数字常用操作汇总 更新时间:2013年06月11日 09:05:12   作者: 本篇文章是对SQL字符串以及数字的常用操作进行了详细的总结与分析,需要的朋友参考下 --将字符串中从某 ...

最新文章

  1. saccharomyces_cerevisiae 酿酒酵母
  2. PreparedStatement和CallableStatement都可以调用存储过程
  3. 修改oracle+sga+size,oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
  4. 细说Mammut大数据系统测试环境Docker迁移之路
  5. 最大似然估计(MLE:样本观测总体参数)是如何工作的?
  6. JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径
  7. webplugin 没有画面_[问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css
  8. MVP on Board 没用小技巧
  9. 5.19 - Stacks and Queues
  10. Maven入门详解与安装配置
  11. 维度退化(数据仓库)
  12. C++ map的基本和高级操作
  13. sbt oracle,Oracle10gR2 ORA-19554的SBT_TAPE
  14. Iocomp控件 Iocomp安装教程 Crack 下载
  15. Linux 命令(223)—— reboot 命令
  16. 论文阅读报告:Taxonomy-aware feature engineering for microbiome classification,Mai Oudah and Andreas Hen
  17. yolov5ds-yolov5做分割(尝试ing)
  18. Linux篇 三、香橙派Zero2搭建Qt环境
  19. Unity Shader入门精要 第2章 读书笔记
  20. svn搭建报错集合(http访问)

热门文章

  1. 计算机丢失dll文件怎么弄,电脑缺少DLL文件该怎么办? 这个办法轻松解决!
  2. java之Map集合总结
  3. Linux系统概述及常用命令
  4. C++ ,C 筛法求素数
  5. mysql 批量插入数据方法_mysql大批量插入数据的4种方法示例
  6. ARM和neon指令集
  7. Java Client Of Apache Atlas
  8. Java 泛型方法/接口、泛型限定
  9. 自定义控件其实很简单 四
  10. python Matplotlib中时间刻度标签的设置/主副刻度