最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net計算一串數(shù)字中每個數(shù)字出現(xiàn)的次數(shù)

 更新時間:2012年05月03日 02:21:14   作者:  
計算一串數(shù)字中每個數(shù)字出現(xiàn)的次數(shù),可以這樣子,先判斷輸入的字符串是不是數(shù)字組成,還是否包含有其它字符
接下來拆分這一串字符串,每個字符插入一個表變量中,最后使用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
--以下函數(shù)可參考:http://www.cnblogs.com/insus/archive/2011/06/25/2090231.html
IF [dbo].[IsInteger] (SUBSTRING(@Value, @I, 1)) = 0
BEGIN
RAISERROR('傳入字符串包含其它字符,不完全是數(shù)字。',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'

結(jié)果:


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

復制代碼 代碼如下:

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

--以下函數(shù)可參考: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('傳入字符串包含其它字符,不完全是數(shù)字。',16,1)
RETURN
END
SELECT [Str],COUNT([Str]) AS [Num] FROM @dum GROUP BY [Str]
END

以下內(nèi)容于2012-04-29 10:44分添加:

如果想?yún)⒖糃#版本 http://www.fzitv.net/article/30211.htm

相關(guān)文章

最新評論

读书| 永寿县| 克东县| 库车县| 忻城县| 孝感市| 射洪县| 得荣县| 阜南县| 南和县| 酒泉市| 仙桃市| 卫辉市| 陇南市| 上蔡县| 泽州县| 襄樊市| 黑山县| 泰安市| 谢通门县| 韩城市| 遵化市| 浏阳市| 化隆| 抚松县| 荥阳市| 开封县| 应城市| 福建省| 洛扎县| 西乌| 保定市| 金平| 寻甸| 尼勒克县| 嵊州市| 泰顺县| 南宫市| 石泉县| 上蔡县| 新平|