/*
有一个成语表,请计算
1)每个字笔画数都相同的成语
2)每个字都含有偏旁三点水或火字旁的成语
*/
--创建汉字词典
CREATE TABLE myHanzi (
id INT NOT NULL,
zi Nvarchar(255),
py varchar(255),
wubi varchar(255),
bushou Nvarchar(255),
bihua INT,
pinyin varchar(255),
PRIMARY KEY (id)
);
GO
SELECT * FROM myHanzi WITH(nolock)
GO
--创建一个函数,判断一个词的部首都是啥啥
CREATE FUNCTION ft_checkbushou(@Val NVARCHAR(200),@bushou NVARCHAR(20))
RETURNS BIT
AS
BEGIN
DECLARE @cnt INT
DECLARE @bu NVARCHAR(20)
DECLARE @rst BIT=0
SELECT @cnt=COUNT(DISTINCT A.bushou),@bu=MAX(A.bushou) FROM dbo.myHanzi A INNER JOIN
(
SELECT SUBSTRING(@Val,number,1) AS zi FROM master..spt_values WHERE type='P' AND number BETWEEN 1 AND LEN(@Val)
) B ON A.zi=B.zi
IF @cnt=1 AND @bu=@bushou
SET @rst = 1
RETURN @rst
END
GO
--创建一个函数,判断一个词的笔画都是啥啥
CREATE FUNCTION ft_checkbihua(@Val NVARCHAR(200),@bihua INT)
RETURNS BIT
AS
BEGIN
DECLARE @cnt INT
DECLARE @bi INT
DECLARE @rst BIT=0
SELECT @cnt=COUNT(DISTINCT A.bushou),@bi=MAX(A.bihua) FROM dbo.myHanzi A INNER JOIN
(
SELECT SUBSTRING(@Val,number,1) AS zi FROM master..spt_values WHERE type='P' AND number BETWEEN 1 AND LEN(@Val)
) B ON A.zi=B.zi
IF @cnt=1 AND @bi=@bihua
SET @rst = 1
RETURN @rst
END
GO
10-16
12-14
01-19
01-05
11-25
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交