SQL遍历字符串的方法

字符串穿越:

1.创建一个只存递增序列(1…n)的表——Temp,并将它与目标字符串所在的表Src进行笛卡尔运算。(Temp表的记录数要不小于遍历的目标字符串的长度)

2.过滤掉序列值大于串长的行。

3.用substr()内置函数进行遍历。

表结构如下:

Temp                                                         Src

id                                                     id  name  other

1                                                      1   Paul    KKK

2

3

4

5

6

7

8

遍历结果视图为:

A

P

a

u

l

1     select substr(s.name,iter.pos,1) A,
2          from (select name from Src where name = ‘Paul’) s,
3              (select id pos from Temp) iter
4     where iter.pos <= length(s.name)
时间: 2024-10-15 11:01:50

SQL遍历字符串的方法的相关文章

在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串)

原文:在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 求SQL遍历截取字符串 http://bbs.csdn.net/topics/390648078 从数据库中读取某一张表(数据若干),然后将某一字段进行截取.比如:字段A    字段Ba/a/c      xa/b

关于C#中遍历字符串中的每个字符的方法

解决方案 C#提供了两个方法用于遍历字符串. 1.第一个方法是foreach循环,这个方法快速且容易,但是与第二个方法相比它不太灵活.其使用方法如下: string testStr = "abc123"; foreach (char c in testStr) { Console.WriteLine(c.ToString()); } 2.第二个方法使用for循环而不是foreach循环来遍历字符串.例如: string testStr = "abc123"; for

sql中遍历字符串

在sql或者存储过程中会需要遍历字符串. declare @idList varchar(500), --如111,222,333,尾部加, @str varchar(100), @Id int, @split varchar(10) set @split = ',' while(charindex(@split,@idList)<>0) begin set @str = substring(@idList,1,charindex(@split,@idList)-1) set @idList

for循环遍历字符串的还有一种方法

遍历字符c,让它各自等于字符串数组chars里面的各个字符.然后运行以下的语句,当c被赋值为chars里面全部字符各一次后.就会退出这个循环. 通常我们遍历字符串数组用 for(int i=0;i<array.length;i++){ array[i]; } 事实上使用for(String c:valueArray)更加方便 当中valueArray为字符串的数组,c为数组中的每一个字符串变量,直接訪问就可以 char[] cArray = num.toCharArray(); for (cha

Sql中将datetime转换成字符串的方法(CONVERT())

语法格式:CONVERT (<data_ type>[ length ], <expression> [, style]) style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到. SQL Serve

for循环遍历字符串的另一种方法

遍历字符c,让它分别等于字符串数组chars里面的各个字符,然后执行下面的语句,当c被赋值为chars里面所有字符各一次后,就会退出这个循环. 通常我们遍历字符串数组用 for(int i=0;i<array.length;i++){ array[i]; } 其实使用for(String c:valueArray)更加方便 其中valueArray为字符串的数组,c为数组中的每个字符串变量,直接访问即可 char[] cArray = num.toCharArray(); for (char c

5.6.3.3 字符串位置方法

有两个可以从字符串中查找子字符串的方法:indexof()和lastIndexOf().这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到子字符串,则返回-1).这两个方法的区别分别在于:indexOf()从字符串的开头向后搜索子字符串,而lastIndexOf()方法是从字符串的末尾向前搜索子字符串.例如: var stringValue = "hello world"; alert(stringValue.indexOf('o'));//4 ale

Java 正确遍历字符串

Java字符串是一系列的Unicode字符序列,但是,它却常常被误认为是char序列.于是,我们经常这样来遍历字符串: package testchar; public class TestChar2 { public static void main(String[] args) { String s = "\u0041\u00DF\u6771\ud801\uDC00"; for(int i = 0; i < s.length(); i++) { System.out.prin

SQL截取字符串

SQL截取字符串 SUBSTRING 返回字符.binary.text      或      image      表达式的一部分.有关可与该函数一起使用的有效      Microsoft®      SQL      Server™      数据类型的更多信息,请参见数据类型. 语法 SUBSTRING      (      expression      ,      start      ,      length      ) 参数 expression 是字符串.二进制字符串.