addr
江西省赣州市龙南县金水大道139号
吉林省白山地区临江市临江林业局公安局
山东省海阳市小纪镇李家疃村
河南省郑州市二七区交通路165号二七区监查院家属楼1栋1单元502室
陕西省咸阳市马泉镇天洋农资公司茂林火车站对面
黑龙江省鹤岗市萝北县共青农场水务局我要的结果是:
addr                                                            prov                           city
江西省赣州市龙南县金水大道139号                                          江西                                赣州
吉林省白山地区临江市临江林业局公安局                                     吉林                                临江
山东省海阳市小纪镇李家疃村                                               山东                                海阳
河南省郑州市二七区交通路165号二七区监查院家属楼1栋1单元502室            河南                                郑州
陕西省咸阳市马泉镇天洋农资公司茂林火车站对面                             陕西                                咸阳
黑龙江省鹤岗市萝北县共青农场水务局                                       黑龙江                              鹤岗我是个新手,哪位高手指点一下啊

解决方案 »

  1.   

    把所有你认为可能会出现的城市做个表,然后直接like 或 charindex()
      

  2.   

    --> liangCK小梁 于2008-09-28
    --> 生成测试数据: #T
    IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL DROP TABLE #T
    CREATE TABLE #T (addr NVARCHAR(60))
    INSERT INTO #T
    SELECT '江西省赣州市龙南县金水大道139号' UNION ALL
    SELECT '吉林省白山地区临江市临江林业局公安局' UNION ALL
    SELECT '山东省海阳市小纪镇李家疃村' UNION ALL
    SELECT '河南省郑州市二七区交通路165号二七区监查院家属楼1栋1单元502室' UNION ALL
    SELECT '陕西省咸阳市马泉镇天洋农资公司茂林火车站对面' UNION ALL
    SELECT '黑龙江省鹤岗市萝北县共青农场水务局'--SQL查询如下:SELECT addr,
           LEFT(addr,CHARINDEX(N'省',addr)-1) AS 省,
           LEFT(STUFF(addr,1,CHARINDEX(N'省',addr),''),CHARINDEX(N'市',STUFF(addr,1,CHARINDEX(N'省',addr),''))) AS 市
    FROM #t/*
    addr                                                         省                                                            市
    ------------------------------------------------------------ ------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    江西省赣州市龙南县金水大道139号                                            江西                                                           赣州市
    吉林省白山地区临江市临江林业局公安局                                           吉林                                                           白山地区临江市
    山东省海阳市小纪镇李家疃村                                                山东                                                           海阳市
    河南省郑州市二七区交通路165号二七区监查院家属楼1栋1单元502室                           河南                                                           郑州市
    陕西省咸阳市马泉镇天洋农资公司茂林火车站对面                                       陕西                                                           咸阳市
    黑龙江省鹤岗市萝北县共青农场水务局                                            黑龙江                                                          鹤岗市(6 行受影响)
    */