只查中文数据,不要数字

sbxlj 2005-08-22 11:48:33
我这有个字段 是string类型的,里面有中文也有数字,
我想只显示出所有的中文数据,请问怎么写?
please help ... 谢谢
...全文
92 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wyb0026 2005-08-22
drop table tab
create table tab (id varchar(100))
insert into tab select '好好学习'
insert into tab select '123'

select * from tab where ISNUMERIC(id)=0

回复
sbxlj 2005-08-22
谢谢各位.
回复
rivery 2005-08-22
加条件:把需要去除的asc码得出,在函数中修改条件。
回复
samfeng_2003 2005-08-22
就是请教一下,就是上面的函数中不能识别“—%(”这些符号得嘛!有什么办法来清除呢?
回复
rivery 2005-08-22
楼上的方法可以满足行值是单一的中文或数字,如果是两者混合的如:“我的111”,要筛选,可以采用下面的函数:
create function getNOnumeric(@a varchar(50))
returns varchar(50)
as
/*
函数功能去掉数字和空格
可扩展为:去掉中文,英文等。
*/
begin
declare @int int,@newstr varchar(50)
select @a=reverse(@a)
select @newstr=''
select @int=len(@a)
while @int>0
begin
if ((ascii(@a)<48 or ascii(@a)>57) and ascii(@a)<>32)
select @newstr=@newstr+left(@a,1)

select @a=stuff(@a,1,1,'')
select @int=@int-1
end
select @newstr=reverse(@newstr)
return @newstr
end

declare @a varchar(20)
select @a='大1 的 111'
select dbo.getNonumeric(@a)
/*
结果
--------
大的

*/
如果需要可以和上面的方法结合使用。
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-08-22 11:48
社区公告
暂无公告