如何使用sql字符索引在单词Malayalam.com中找到第三个“a”位置?
您可以使用:如何使用sql字符索引在单词Malayalam.com中找到第三个“a”位置?,sql,sql-server,tsql,Sql,Sql Server,Tsql,您可以使用: CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 您可以使用: CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 我想你在找我 WITH cte AS ( SELECT 'Malayalam' s ) SELECT cte.s, s3.r FROM cte OUTER APPLY (S
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
您可以使用:
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
我想你在找我
WITH cte AS (
SELECT 'Malayalam' s
)
SELECT cte.s, s3.r
FROM cte
OUTER APPLY (SELECT CHARINDEX('a', cte.s, 0)) s1(r) -- first occurence
OUTER APPLY (SELECT CHARINDEX('a', cte.s, s1.r+1)) s2(r) -- second occurence
OUTER APPLY (SELECT CHARINDEX('a', cte.s, s2.r+1)) s3(r) -- third occurence
-- ...
我想你在找我
WITH cte AS (
SELECT 'Malayalam' s
)
SELECT cte.s, s3.r
FROM cte
OUTER APPLY (SELECT CHARINDEX('a', cte.s, 0)) s1(r) -- first occurence
OUTER APPLY (SELECT CHARINDEX('a', cte.s, s1.r+1)) s2(r) -- second occurence
OUTER APPLY (SELECT CHARINDEX('a', cte.s, s2.r+1)) s3(r) -- third occurence
-- ...
还可以使用CHARINDEX获取字符“a”的第三个位置,如下所示- 仅当存在至少3个字符“a”时,才会返回正确的结果
+----------------------+-----------+-----------+
| CharPositionInString | Character | Occurence |
+----------------------+-----------+-----------+
| 1 | M | 1 |
| 2 | a | 1 |
| 3 | l | 1 |
| 4 | a | 2 |
| 5 | y | 1 |
| 6 | a | 3 |
| 7 | l | 2 |
| 8 | a | 4 |
| 9 | m | 2 |
+----------------------+-----------+-----------+
还可以使用CHARINDEX获取字符“a”的第三个位置,如下所示- 仅当存在至少3个字符“a”时,才会返回正确的结果
+----------------------+-----------+-----------+
| CharPositionInString | Character | Occurence |
+----------------------+-----------+-----------+
| 1 | M | 1 |
| 2 | a | 1 |
| 3 | l | 1 |
| 4 | a | 2 |
| 5 | y | 1 |
| 6 | a | 3 |
| 7 | l | 2 |
| 8 | a | 4 |
| 9 | m | 2 |
+----------------------+-----------+-----------+
你到底想干什么?为什么要用CHARINDEX?你到底想做什么?为什么要使用CHARINDEX?