国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net計算一串數字中每個數字出現的次數

2020-01-18 00:30:18
字體:
來源:轉載
供稿:網友
接下來拆分這一串字符串,每個字符插入一個表變量中,最后使用GROUP BY進行分組。
復制代碼 代碼如下:

CalNumOfChtInStr
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Insus.NET
-- Create date: 2012-02-23
-- Description: Calculate the number of characters in the string
-- =============================================
CREATE PROCEDURE [dbo].[CalNumOfChtInStr]
(
@Value NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @dum TABLE ([Str] NVARCHAR(2))
DECLARE @I INT = LEN(@Value),@J INT = LEN(@Value)
WHILE @I > 0
BEGIN
--以下函數可參考:http://www.cnblogs.com/insus/archive/2011/06/25/2090231.html
IF [dbo].[IsInteger] (SUBSTRING(@Value, @I, 1)) = 0
BEGIN
RAISERROR('傳入字符串包含其它字符,不完全是數字。',16,1)
RETURN
END
SET @I = @I - 1
END
WHILE @J > 0
BEGIN
INSERT INTO @dum VALUES(SUBSTRING(@Value, @J, 1))
SET @J = @J - 1
END
SELECT [Str],COUNT([Str]) AS [Num] FROM @dum GROUP BY [Str]
END

Demo:
復制代碼 代碼如下:

EXECUTE [dbo].[CalNumOfChtInStr] '5487554127489423454'

結果:


以下文字更新于2012-02-24 09:40
分析以上的存儲過程,考慮到性能問題,它在判斷是否包含有其它字符時,循環一次字符串,然后又循環一次將每一個字符插入表變量中。以下修改正此點只做循環一次。

復制代碼 代碼如下:

CalNumOfChtInStr
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Insus.NET
-- Create date: 2012-02-23
-- Update date: 2012-02-24
-- Description: Calculate the number of characters in the string
-- =============================================

ALTER PROCEDURE [dbo].[CalNumOfChtInStr]
(
@Value NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @dum TABLE ([Str] NVARCHAR(2))
DECLARE @I INT = LEN(@Value)
WHILE @I > 0
BEGIN
INSERT INTO @dum VALUES(SUBSTRING(@Value, @I, 1))
SET @I = @I - 1
END

--以下函數可參考:http://www.cnblogs.com/insus/archive/2011/06/25/2090231.html
IF EXISTS(SELECT TOP 1 1 FROM @dum WHERE [dbo].[IsInteger]([Str]) = 0)
BEGIN
RAISERROR('傳入字符串包含其它字符,不完全是數字。',16,1)
RETURN
END
SELECT [Str],COUNT([Str]) AS [Num] FROM @dum GROUP BY [Str]
END

以下內容于2012-04-29 10:44分添加:

如果想參考C#版本 //www.survivalescaperooms.com/article/30211.htm

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富宁县| 宝应县| 曲麻莱县| 凤庆县| 大厂| 通州区| 和田县| 吉首市| 广昌县| 上虞市| 罗田县| 安宁市| 广德县| 理塘县| 天水市| 康保县| 同仁县| 平远县| 合肥市| 任丘市| 徐闻县| 临城县| 惠东县| 鄯善县| 巧家县| 东台市| 遂平县| 桂阳县| 略阳县| 禄丰县| 兴宁市| 高密市| 鄂托克前旗| 黄大仙区| 大化| 芦溪县| 云南省| 鹤庆县| 琼中| 耿马| 曲阳县|