反正就是要规范成 省,市这样
可能思路也有问题
那个bas_area可以无视

解决方案 »

  1.   

    ----------------------------------------------------------------
    -- 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   贵州省遵义市             贵州省                遵义市*/