博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL中拆分字符串substr及统计字符出现频数replace用法实例讲解
阅读量:4627 次
发布时间:2019-06-09

本文共 858 字,大约阅读时间需要 2 分钟。

一、拆分字符串为若干行

例一:要求将表emp中的'king'按照每行一个单词拆成四行

注意:substr(str,pos):截取pos位置开始的字符;

        substr(str,pos,len):从pos位置开始,选出接下去的len个字符

表emp:

eid  ename
1 ring
2 king
3 ting
4 ping

 

 

 

 

首先,建立表tmp(基干表,为了配合表一使用):

tid
1
2
3
4
5

 

 

 

 

 

然后,select emp.ename,tmp.tid from emp,tmp where emp.ename=‘king’;/*没有主键和外键,生成king的笛卡尔集/

ename tid

king    1

king    2
king    3
king    4
king    5
最后:select substr (ename,tid,1) as a from (select emp.ename,tmp.tid from emp,tmp where emp.ename=‘king’) as e where e.tid <= length(e.ename);

结果:

a:

k

i

n

g

若select substr (ename,tid) as b, substr(ename,length(ename)-tid+1).......结果将会出现

b     c

king g

ing   ng

ng    ing

g      king

 

 

二、计算字符在字符串中出现的次数

replace函数:replace(要搜索的字符串表达式,要查找的字符串,替换字符串)

例二:计算10,clark,manager中逗号的个数

select (length('10,clark,manager')-length(replace('10,clark,manager',',',''))/length(',')) as c from tablename;

 

转载于:https://www.cnblogs.com/smallcrystal/p/5005067.html

你可能感兴趣的文章
Map与List数据操作
查看>>
【MFC】 多线程互斥CMutex
查看>>
机器学习算法基础知识
查看>>
数据库分库分表(sharding)系列
查看>>
C++构造函数(一)
查看>>
用Quartus II Timequest Timing Analyzer进行时序分析 :实例讲解 (一)
查看>>
RK3399 BOX编译步骤
查看>>
SQL同时删除两张表中的数据
查看>>
在tomcat中用jndi配置数据源启动java web程序
查看>>
js获取当前时间
查看>>
Bzoj2110--Wc2011Xor
查看>>
2017 Multi-University Training Contest 3 hdu 6063
查看>>
jdk和jre的区别
查看>>
快速开发一个PHP扩展
查看>>
我的路子 - 发现游戏为模型的软件架构方式
查看>>
主攻ASP.NET.4.5 MVC4.0之重生:Entity Framework生成实体类步骤(十三)
查看>>
PHP-密码学算法及其应用-对称密码算法
查看>>
Linux-TCP/IP TIME_WAIT状态原理
查看>>
ScaleYViewPager
查看>>
Codeforces 504 A (Round #285 div.1 A) Misha and Forest
查看>>