22,209
社区成员
发帖
与我相关
我的任务
分享
----------------------------------------------------------------
-- Author :DBA_HuangZJ(发粪涂墙)
-- Date :2014-03-13 16:27:29
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
-- Apr 2 2010 15:48:46
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据[IPN]
if object_id('[IPN]') is not null drop table [IPN]
go
create table [IPN]([id] int,[account] int,[country] nvarchar(18))
insert [IPN]
select 8567,975705682,N'上海市青浦区' union all
select 8568,975705683,N'上海市青浦区' union all
select 8569,975706026,N'上海市青浦区' union all
select 8631,975839024,N'贵州省遵义市' union all
select 8632,975839030,N'贵州省遵义市' union all
select 8633,975839031,N'贵州省遵义市' union all
select 8634,975839042,N'贵州省遵义市' union all
select 8635,975839043,N'贵州省遵义市' union all
select 8636,975839044,N'贵州省遵义市湄潭县' union all
select 8637,975839045,N'贵州省遵义市' union all
select 8638,975839049,N'贵州省遵义市湄潭县' union all
select 8639,975839050,N'贵州省遵义市'
--------------生成数据--------------------------
select * ,SUBSTRING([country],1,PATINDEX(N'%[省市]%',[country]))[SHENG_Name],SUBSTRING(SUBSTRING([country],PATINDEX(N'%[省市]%',[country])+1,LEN([country])),1,pATINDEX(N'%[市区]%',SUBSTRING([country],PATINDEX(N'%[省市]%',[country])+1,LEN([country]))))city_name
from [IPN]
----------------结果----------------------------
/*
id account country SHENG_Name city_name
----------- ----------- ------------------ ------------------ ------------------
8567 975705682 上海市青浦区 上海市 青浦区
8568 975705683 上海市青浦区 上海市 青浦区
8569 975706026 上海市青浦区 上海市 青浦区
8631 975839024 贵州省遵义市 贵州省 遵义市
8632 975839030 贵州省遵义市 贵州省 遵义市
8633 975839031 贵州省遵义市 贵州省 遵义市
8634 975839042 贵州省遵义市 贵州省 遵义市
8635 975839043 贵州省遵义市 贵州省 遵义市
8636 975839044 贵州省遵义市湄潭县 贵州省 遵义市
8637 975839045 贵州省遵义市 贵州省 遵义市
8638 975839049 贵州省遵义市湄潭县 贵州省 遵义市
8639 975839050 贵州省遵义市 贵州省 遵义市
*/