有啥办法可以排除一个字段中的纯中文信息

蝈蝈俊 2010-01-11 03:19:34
谢谢大家前一个贴子帮我解决了找到一个字段中不是英文字符,不是数字,不是下滑线组成的列。
http://topic.csdn.net/u/20100111/14/529a21a1-3ea8-4263-a0d9-34e83be79b1d.html

现在还有一个问题, 这么排重后,发现还有些纯中文信息。 我也想把这些中文信息排重


典型的一些数据如下:

--> 测试数据:[t1]


if object_id('[t1]') is not null
drop table [t1]
create table [t1]([c] nvarchar(20))

insert [t1]
select 'aaa' union all -- 此数据不应该被搜索到
select 'bcds' union all -- 此数据不应该被搜索到
select 'a1' union all -- 此数据不应该被搜索到
select '啊' union all -- 此数据不应该被搜索到
select '^%' union all -- 应该搜索到
select 'ew1' union all -- 此数据不应该被搜索到
select '344' union all -- 此数据不应该被搜索到
select '__' union all -- 此数据不应该被搜索到
select '213_21' union all -- 此数据不应该被搜索到
select 'a_2' union all -- 此数据不应该被搜索到
select 'd' union all -- 此数据不应该被搜索到
select 'ddd' union all -- 此数据不应该被搜索到
select '电风扇' union all -- 此数据不应该被搜索到
select '★思寒★' union all -- 应该搜索到
select 'Ω' union all -- 应该搜索到
select 'トントン' union all -- 应该搜索到
select '***' union all -- 应该搜索到
select '///////' union all -- 应该搜索到
select '@-@' union all -- 应该搜索到
select '@小慧' union all -- 应该搜索到
select '~*晓菊*~' union all -- 应该搜索到
select '啊★洛' union all -- 应该搜索到
select '不思議の夜' union all -- 应该搜索到
select '(嘉宾)胡飞' union all -- 应该搜索到
select '--------------' -- 应该搜索到


-- 之前的测试语句, 没有过滤纯中文,
select * from [t1] WHERE PATINDEX('%[0-9a-z_]%',c)=0
...全文
478 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sk_sakula 2010-01-12
  • 打赏
  • 举报
回复
学习了
蝈蝈俊 2010-01-11
  • 打赏
  • 举报
回复
谢谢大家给出解答, 本帖结贴给分了
jwwyqs 2010-01-11
  • 打赏
  • 举报
回复
select * from [t1] where patindex('%[a-z,0-9,_]%',c)=0
and datalength(c)=len(c)
vipper23 2010-01-11
  • 打赏
  • 举报
回复
字符加中文的不太适用
水族杰纶 2010-01-11
  • 打赏
  • 举报
回复
--TRY
select * from [t1] WHERE PATINDEX('%[0-9a-z_吖-座]%',c)=0
蝈蝈俊 2010-01-11
  • 打赏
  • 举报
回复
上面例子中, 下面两个纯中文 信息是应该被过滤掉的。

select '啊' union all -- 此数据不应该被搜索到
select '电风扇' union all -- 此数据不应该被搜索到

上面例子给出的这样数据就这么两条,实际上,这样的数据会比较多,我想过滤掉掉这部分信息,以便做分析异常数据。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧