日期:2014-05-16 浏览次数:20631 次
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2014-03-18 11:46:24
-- Verstion:
-- Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([电话卡] varchar(13))
insert [tb]
select '广西移动183卡' union all
select '联通156' union all
select '云南电信卡' union all
select '飞马数据卡'
--------------开始查询--------------------------
SELECT CASE WHEN PATINDEX('%移动%',电话卡)>0 THEN '移动'
WHEN PATINDEX('%联通%',电话卡)>0 THEN '联通'
WHEN PATINDEX('%电信%',电话卡)>0 THEN '电信'
WHEN PATINDEX('%数据卡%',电话卡)>0 THEN '数据卡'
ELSE ''
END FROM tb
----------------结果----------------------------
/* ------
移动
联通
电信
数据卡
(4 行受影响)
*/
UPDATE tb
SET [电话卡] = CASE WHEN PATINDEX('%移动%', 电话卡) > 0 THEN '移动'
WHEN PATINDEX('%联通%', 电话卡) > 0 THEN '联通'
WHEN PATINDEX('%电信%', 电话卡) > 0 THEN '电信'
WHEN PATINDEX('%数据卡%', 电话卡) > 0 THEN '数据卡'
ELSE ''
END