SQL遍历字符串

  • 1.解决方案
  • 2.讨论
  • over~

1.解决方案

使用笛卡儿积生成以每行一个字符的形式来显示字符串所需要的行数。然后,使用数据库内置的字符串解析函数提取我们感兴趣的字符(如果是SQL Server的话,要用SUBSTRING替换SUBSTR)

2.讨论

要遍历一个字符串里的全部字符,关键在于要先和另一个表做连接查询,该表必须有足够多的行以保证循环操作的次数。本例使用的是T10表,该表有10行记录(它只有一列,列名为ID,它的值分别是从1到10)。也就是说,上述查询最多返回10行。


内嵌视图E的行数是1,而内嵌视图ITER的行数是10,所以得到的笛卡儿积就是10行。为了保证结果集的行数等于给定员工名字的字符个数,
WHERE子句把ITER.POS <=LENGTH(E.ENAME)作为条件。


现在我们得到的记录行数和E.ENAME的字符数一样多,接下来可以把ITER.POS作为SUBSTR的参数,这样就能遍历字符串里的每个字符。ITER.POS的值会逐行递增,这样每一行都能从E.ENAME里提取出一个连续的字符。这就是该解决方案的工作原理。

over~

【SQL】遍历字符串之Substr相关推荐

  1. ORACLE SQL 遍历字符串

    使用 LEVEL 可以遍历,如下例子: SELECT SUBSTR(COLUMN_NAME,LEVEL,1) AS COL FROM TAB_NAME CONNECT BY LEVEL <= L ...

  2. 处理字符串_2_遍历字符串里的每个值

    遍历字符串里的每个值 需求描述 需求:打印出ename为'King'的名字里每一个字母,每个字母占一行. 解决方法:通过自增表和emp表先cross join(笛卡尔积),然后再通过ename的len ...

  3. SQL分割字符串,SQL按照指定字符分割字符串,SQL处理字符串...

    SQL分割字符串,SQL按照指定字符分割字符串,SQL处理字符串 -----原文来源于网络  T-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历 ...

  4. 如何遍历字符串中的单词?

    我正在尝试遍历字符串中的单词. 可以假定字符串由空格分隔的单词组成. 请注意,我对C字符串函数或那种字符操作/访问不感兴趣. 另外,在回答问题时,请优先考虑优雅而不是效率. 我目前拥有的最佳解决方案是 ...

  5. html+分割字符,sql拆分字符串split

    SQL里有没有类似SPLIT的分割字符串函数 createfunctionf_split(@cvarchar(2000),@splitvarchar(2)) returns@ttable(colvar ...

  6. 遍历字符串str1的所有非空子串

    遍历字符串str1的所有非空子串: #include<iostream> #include"string" using namespace std; int main( ...

  7. php逐个汉字遍历字符串

    php逐个汉字遍历字符串,亲测有效 function str_split_unicode($str, $l = 0) {if ($l > 0) {$ret = array();$len = mb ...

  8. SQL语句中的SUBSTR()函数的使用

    SQL语句中的SUBSTR()函数的使用 substr()函数: substr()函数用于截取对应字段指定长度或者说是用来截取数据库某一列字段中的一部分. 在各个数据库的函数名称不同: MySQL: ...

  9. SQL截取字符串替换

    SQL截取字符串替换 字符串截取 1. left()截取左边 2. right()截取右边 3. SUBSTR() / SUBSTRING() 截取 SUBSTRING(name,5,3) 截取nam ...

最新文章

  1. a*算法的时间复杂度_从经典算法题看时间复杂度
  2. spyder安装_windows10 Anaconda3安装教程
  3. 华为云力推“普惠AI”,EI智能体正在落地行业
  4. 东莞首办工业机器人成果交流会听众爆满
  5. 面试准备勿重“难”轻“易”
  6. charles-无法抓取https包的解决办法及效果
  7. java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一,大厂 HR 如何面试
  8. 编码器计数原理与电机测速原理——多图解析
  9. AEJoy —— 表达式之弹性(韧性)模拟详解【JS】
  10. 用HTML5制作简单的个人简历
  11. 数据分析——员工离职预测
  12. 发展农村数字普惠金融的问题及对策分析
  13. 网线水晶头接法(附图说明)
  14. 派森编程软件python有什么用_派森平台干什么的
  15. 学习C语言篇之网络编程操作
  16. 二手车 电商+互联网金融的三种新玩法
  17. centos挂载光驱设备
  18. 如何监控手机网络请求
  19. Mac/Windows使用DBeaver+jdbc驱动连接KingbaseES人大金仓数据库
  20. 移动最小二乘法MLS

热门文章

  1. Vue处理后台返回List集合带有Object对象的数据
  2. Java中日志的使用
  3. MNIST数据集学习
  4. Makefile文件名称
  5. python 爬取淘宝网课
  6. 9、法律法规与标准化知识
  7. 酷炫页面产品图片展示
  8. 温度控制器matlab,某温度控制系统的MATLAB仿真.doc
  9. linux系统中的挂载点:
  10. 如何复制360doc个人图书馆的文章?