求存储过程,拆字符串 反正就是要规范成 省,市这样可能思路也有问题那个bas_area可以无视 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ------------------------------------------------------------------ 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 allselect 8568,975705683,N'上海市青浦区' union allselect 8569,975706026,N'上海市青浦区' union allselect 8631,975839024,N'贵州省遵义市' union allselect 8632,975839030,N'贵州省遵义市' union allselect 8633,975839031,N'贵州省遵义市' union allselect 8634,975839042,N'贵州省遵义市' union allselect 8635,975839043,N'贵州省遵义市' union allselect 8636,975839044,N'贵州省遵义市湄潭县' union allselect 8637,975839045,N'贵州省遵义市' union allselect 8638,975839049,N'贵州省遵义市湄潭县' union allselect 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_namefrom [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 贵州省遵义市 贵州省 遵义市*/ 一条求数量的SQL语句 从一个ADO连接对象cn如何得到其服务器名称和连接的数据库名称? MM马上给分,分组语句怎样写? SQL Server如何动态创建列 SQl server2000的单用户模式是怎样进入的? 很菜的问题(关于建表) 触发器和存储过程有什么区别? sqlserver权限问题(棘手) 如何修改表中列名 Oracle错误/我该如何办? 求sql SQL2000的表中这样的自动计算字段怎么写?
-- 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 贵州省遵义市 贵州省 遵义市*/