首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据库中使用正则表达式解决办法

2013-11-29 
数据库中使用正则表达式数据库中有一个字段有Tb23456,TBS123456,tasd1234,DFS1243456这些类型,过滤掉只要T

数据库中使用正则表达式
数据库中有一个字段有Tb23456,TBS123456,tasd1234,DFS1243456这些类型,过滤掉只要Tb23456这个类型的呢?
[解决办法]
如果你那些以逗号为间隔每行显示的话,直接where里面登于Tb23456就可以拉
[解决办法]


select * from 表 where 字段='Tb23456'

[解决办法]
引用:
select * from 表 where 字段 like 'Tb%'


select * from 表 where left(字段,2) = 'Tb'

[解决办法]
引用:
Quote: 引用:


select * from [表名] 
 where patindex('tb%',[字段])>0

假如我还要过滤掉TBS开头的呢,有什么好方法吗?


试试这个:
select * from [表名] 
 where patindex('tb%',[字段])>0 and 
       patindex('tbs%',[字段]) =0
 

[解决办法]
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-11-28 11:30:45
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
--Dec 28 2012 20:23:12 
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go 
create table [huang]([a] varchar(10))
insert [huang]
select 'Tb23456' union all
select 'TBS123456' union ALL
select 'tasd1234' union all
select 'DFS1243456'
--------------开始查询--------------------------

select * from [huang] WHERE a LIKE 'tb[0-9]%'
----------------结果----------------------------
/* 
a
----------
Tb23456
*/

热点排行