sql server 实现判断输入的数字重复出现的次数
ALTER
PROC NumShowTimes
(
@numValue NVARCHAR( MAX)
)
AS
BEGIN
DECLARE @TempTable TABLE(num NVARCHAR( 4)) -- -定义存放数字的表
DECLARE @TempNum NVARCHAR( 4) --
DECLARE @Value nvarchar( max)
SET @Value = @numValue
-- -判断输入的是否是数字
WHILE( LEN( @numValue) > 0)
BEGIN
SET @TempNum = SUBSTRING( @numValue, LEN( @numValue), 1)
SET @numValue = SUBSTRING( @numValue, 1,( LEN( @numValue) - 1))
IF @TempNum LIKE ' [^0-9] '
BEGIN
PRINT ' YOU INPUT NOT NUM '
RETURN
END
END
-- --获取数据插入表中
WHILE( LEN( @Value) > 0)
BEGIN
SET @TempNum = SUBSTRING( @Value, LEN( @Value), 1)
SET @Value = SUBSTRING( @Value, 1,( LEN( @Value) - 1))
INSERT INTO @TempTable VALUES ( @TempNum)
END
SELECT num, count(num) AS [ count ] FROM @TempTable GROUP BY num
END
(
@numValue NVARCHAR( MAX)
)
AS
BEGIN
DECLARE @TempTable TABLE(num NVARCHAR( 4)) -- -定义存放数字的表
DECLARE @TempNum NVARCHAR( 4) --
DECLARE @Value nvarchar( max)
SET @Value = @numValue
-- -判断输入的是否是数字
WHILE( LEN( @numValue) > 0)
BEGIN
SET @TempNum = SUBSTRING( @numValue, LEN( @numValue), 1)
SET @numValue = SUBSTRING( @numValue, 1,( LEN( @numValue) - 1))
IF @TempNum LIKE ' [^0-9] '
BEGIN
PRINT ' YOU INPUT NOT NUM '
RETURN
END
END
-- --获取数据插入表中
WHILE( LEN( @Value) > 0)
BEGIN
SET @TempNum = SUBSTRING( @Value, LEN( @Value), 1)
SET @Value = SUBSTRING( @Value, 1,( LEN( @Value) - 1))
INSERT INTO @TempTable VALUES ( @TempNum)
END
SELECT num, count(num) AS [ count ] FROM @TempTable GROUP BY num
END
注:
去掉判断输入的是否是数字那个while循环,就显示所输入的所字符出现的次数,包括汉字