我的空间,写我所写,禅我所藏

与我一起遨游吧

 

从数据库中查找数字和中文的数据

--数据装载
Create Table #T(Column1 varchar(20))
insert #T select '040011'
union all select '010021'
union all select '024综合'
union all select '021不知道'
union all select '031不'
union all select '不3'
union all select '知道'

--1:求包含数字,且长度为6的集合(包含了中文)

select * from #T  where Column1  like '%[0-9]%'  and len(Column1)=6

--结果
Column1             
--------------------
040011
010021
021不知道

(所影响的行数为 3 行)

--2:求包含中文,且长度为6的集合(包含了数字)

select * from #T  where Column1  like '%[^0-9]%'  and len(Column1)=6

--结果
Column1             
--------------------
021不知道

(所影响的行数为 1 行)

--3:求包含数字,且长度为6的集合(不包含中文)

select * from #T  where Column1 not like '%[^0-9]%'  and len(Column1)=6
--结果
Column1             
--------------------
040011
010021

(所影响的行数为 2 行)

--4 求所有记录只用中文的记录

select * from #T  where Column1 not like '%[0-9]%' 

--结果

Column1             
--------------------
知道

(所影响的行数为 1 行)

--5.求所有记录只有数字的记录

select * from #T  where Column1 not like '%[^0-9]%' 
--结果

Column1             
--------------------
040011
010021

(所影响的行数为 2 行)
或者

select * from #T  where isnumeric(Column1)=1

--结果

Column1             
--------------------
040011
010021

 

--6.查询数据中那条记录包含有中文

select case when Column1 like N'%[啊-座]%' then '包含中文' else '不包含中文' end
from #T

--结果

----------
不包含中文
不包含中文
包含中文
包含中文
包含中文
包含中文
包含中文

(所影响的行数为 7 行)

 

--7:只查询数字字段值

select * from #Twhere patindex('%[^-^0-9]%',Column1 )=0

--结果

Column1             
--------------------
040011
010021

(所影响的行数为 2 行)

--8:只查询中文字段值
select * from #T where patindex('%[^-^啊-座]%',Column1)=0

--结果

Column1             
--------------------
知道

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1505712

posted on 2007-06-11 12:33 imcb 阅读(164) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

导航

统计

常用链接

留言簿(2)

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜