久久久久久久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)
主站蜘蛛池模板: 久久免费视频2 | 黄色中文字幕 | 亚洲欧洲精品一区 | 日韩免费一二三区 | 国外成人免费视频 | 81精品国产乱码久久久久久 | 午夜精品久久久久久 | 欧美激情视频一区二区三区在线播放 | 亚洲一区国产精品 | aaa一区| 久久久高清 | 99re视频在线免费观看 | 黄视频网址 | 人成精品| 色就是色欧美 | 欧美日韩成人影院 | 日韩在线视频播放 | 欧美精品91 | 日韩欧美中文字幕在线视频 | 超碰日本 | 91久操网| 久热国产精品 | 欧美在线天堂 | 日韩精品一区二 | 99re在线视频观看 | 成人一区二区视频 | 久久久久久99 | 91视频日本 | 神马久久久久久久久久 | 国产高清一区二区 | 罗宾被扒开腿做同人网站 | 国产成都精品91一区二区三 | 亚洲国产小视频 | 在线精品一区二区三区 | av在线天堂网 | 欧美区日韩区 | 国产综合久久久久久鬼色 | www.日日干 | 精品国产欧美一区二区三区不卡 | 日本午夜免费福利视频 | 午夜精品久久久久久久99黑人 |