如何查询表中具体笔画的记录?

我用 SELECT * FROM tblQkzk2007 ORDER BY hanzi COLLATE Chinese_PRC_Stroke_CI_AS 能查询出所有的记录,我要是只想查询笔画为 5 的记录该如何?
[107 byte] By [tom00007-tom00007] at [2008-1-9]
# 1
笔画为 5的有哪些汉字?

例如:'兰,旧,电...'
set @s as varchar(1000)
set @s = '兰,旧,电...'

SELECT * FROM tblQkzk2007 where hanzi in @s
dawugui-潇洒老乌龟 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 2
我的那个 hanzi 字段有很多不相同的汉字,我想查询的是 表 中 所有 笔画是 5 的记录就行了, 至于有那些字就不知道了...

tom00007-tom00007 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 3
http://blog.Codefund.cn/j9988/
看看里面是如何计算汉字笔划的.
j9988-j9988 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 4
邹老大的东西.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fun_getbh]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fun_getbh]
GO

/*--得到汉字笔画

得到指定汉字的笔画数
引自:http://expert.Codefund.cn/Expert/topic/3051/3051568.xml?temp=.221142

--作者: J9988 --*/
create function fun_getbh(@char nchar(2))
returns int
as
begin
return(
case when unicode(@char) between 19968 and 40869 then(
select top 1 id from(
select id=1,ch=N'亅' union all select 2,N'阝'
union all select 3,N'马' union all select 4,N'风'
union all select 5,N'龙' union all select 6,N'齐'
union all select 7,N'龟' union all select 8,N'齿'
union all select 9,N'鸩' union all select 10,N'龀'
union all select 11,N'龛' union all select 12,N'龂'
union all select 13,N'龆' union all select 14,N'龈'
union all select 15,N'龊' union all select 16,N'龍'
union all select 17,N'龠' union all select 18,N'龎'
union all select 19,N'龐' union all select 20,N'龑'
union all select 21,N'龡' union all select 22,N'龢'
union all select 23,N'龝' union all select 24,N'齹'
union all select 25,N'龣' union all select 26,N'龥'
union all select 27,N'齈' union all select 28,N'龞'
union all select 29,N'麷' union all select 30,N'鸞'
union all select 31,N'麣' union all select 32,N'龖'
union all select 33,N'龗' union all select 35,N'齾'
union all select 36,N'齉' union all select 39,N'靐'
union all select 64,N'龘'
)a where ch>=@char collate Chinese_PRC_Stroke_CS_AS_KS_WS
order by id ASC) else 0 end)
end
go

--函数调用实例:
select dbo.fun_getbh('华'),dbo.fun_getbh('華')
dawugui-潇洒老乌龟 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 5
谢谢以上两位!

不过我需要的就是一条语句. 比如随便给你一张表,要你查出这张表中 笔画为 5 的 一个字段有那些记录就行了,需求应该很简单明了了吧.

我看了以上两位介绍的,不过还是没有我要的... 哈哈
tom00007-tom00007 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 6
楼主真幽默!您慢慢找.
j9988-j9988 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 7
哈哈,看来这个问题是难倒大家了...
tom00007-tom00007 at 2007-10-18 > top of Msdn China Tech,MS-SQL Server,基础类...
# 8
苦海无边,回头是岸...