久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

計算給定字符串中重復字符的數量

Count number of repeated character in a given string(計算給定字符串中重復字符的數量)
本文介紹了計算給定字符串中重復字符的數量的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

如何計算給定字符串中重復 $ 字符的出現次數.

How do I count the number of occurrences of repeated $ character in the given strings.

例如:

  1. String = '$$$$ABC$$$DE$$$' -->答案是 4,3,3
  2. String = '###$$%%ANE$$$$$' -->答案是 2,5

我不知道怎么做所以沒有做任何嘗試.

I have no idea how to do it so did not do any attempts.

感謝您的幫助.

用于復制:

  1. DDL 和插入:

Create table xyz(text varchar(200));
Insert into xyz values('$$$$ABC$$$DE$$$');
Insert into xyz values('###$$%%ANE$$$$$');

  1. 我需要做的:計算'$'的重復次數

  1. What I need to do: Count the repeated number of '$'

所需的輸出,基于上面 #1 中的示例數據.

Desired output, based on the sample data in #1 above.

text = '$$$$ABC$$$DE$$$' -->答案是 4,3,3
text = '###$$%%ANE$$$$$' -->答案是 2,5

text = '$$$$ABC$$$DE$$$' --> Answer is 4,3,3
text = '###$$%%ANE$$$$$' --> Answer is 2,5

SQL Server 版本:Microsoft SQL Server 2019 (RTM) - 15.0.2000.5

SQL Server version: Microsoft SQL Server 2019 (RTM) - 15.0.2000.5

推薦答案

請嘗試以下解決方案.它將從 SQL Server 2017 開始工作.

Please try the following solution. It will work starting from SQL Server 2017 onwards.

它基于 TRANSLATE() 函數以及 XML 和 XQuery 的使用.

It is based on use of the TRANSLATE() function, and XML and XQuery.

SQL

-- DDL and sample data population, start
DECLARE @tbl TABLE (ID INT IDENTITY PRIMARY KEY, tokens VARCHAR(30));
INSERT INTO @tbl (tokens) VALUES
('$$$$ABC$$$DE$$$'), --> Answer is 4,3,3
('###$$%%ANE$$$$$'); --> Answer is 2,5
-- DDL and sample data population, end

DECLARE @separator CHAR(1) = SPACE(1);

;WITH cte AS 
(
    SELECT *
        , REPLACE(TRANSLATE(tokens, '$', SPACE(1)),' ','') AS JunkCharacters
    FROM @tbl
)
SELECT *
, REPLACE(TRY_CAST('<root><r><![CDATA[' +
    REPLACE(TRANSLATE(tokens, TRIM(JunkCharacters), SPACE(LEN(TRIM(JunkCharacters)))), @separator, ']]></r><r><![CDATA[') + 
    ']]></r></root>' AS XML)
        .query('
        for $x in /root/r[text()]
        return data(string-length($x))
        ').value('.', 'VARCHAR(20)'), SPACE(1), ',') AS CleansedTokensCounter
FROM cte;

輸出

+----+-----------------+----------------+-----------------------+
| ID |     tokens      | JunkCharacters | CleansedTokensCounter |
+----+-----------------+----------------+-----------------------+
|  1 | $$$$ABC$$$DE$$$ | ABCDE          |                 4,3,3 |
|  2 | ###$$%%ANE$$$$$ | ###%%ANE       |                   2,5 |
+----+-----------------+----------------+-----------------------+

這篇關于計算給定字符串中重復字符的數量的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Modify Existing decimal places info(修改現有小數位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號或管道運算符字符串中刪除重復項)
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 成人av观看 | 久久久久国产一区二区三区四区 | 久热精品在线 | 欧美激情在线精品一区二区三区 | 欧美一区二区三区免费在线观看 | 午夜小电影 | 亚洲一区有码 | 天堂一区在线 | 盗摄精品av一区二区三区 | 色女人天堂 | 看av片网站 | 国产欧美日韩一区二区三区在线 | 久久久美女 | 亚洲国产一区二区三区四区 | 99精品久久 | 亚欧洲精品在线视频免费观看 | 九九久久国产精品 | 91久操视频 | 在线观看成人免费视频 | www.日韩欧美 | 国产成人99久久亚洲综合精品 | 日本不卡一区二区三区 | re久久 | 成人精品在线观看 | 日本视频免费 | a毛片| 狠狠亚洲 | www.99热这里只有精品 | 黄色网址大全在线观看 | 久久99精品久久久久久青青日本 | 精品免费 | 欧美一级片免费看 | 日日干夜夜操天天操 | 一区二区三区精品 | 精品视频在线观看 | 伊人久久麻豆 | 精品国产99 | 亚洲97| 夜夜操av| 亚洲婷婷六月天 | 欧美精品一 |