我有地址:如何從分隔文本整數
ALKOŅU 3-20;
M.LUBŠNAS 16V-9;
STIEBRU 6-22;
ANDREJA UPĪĀA IELA 16-2;
MISNKAS 4 -115;
CISKADI,BAZNICAS 4;
它是如何能夠在SQL中的第一文本部分(區)的整數(房子和平板號碼)分開?
我有地址:如何從分隔文本整數
ALKOŅU 3-20;
M.LUBŠNAS 16V-9;
STIEBRU 6-22;
ANDREJA UPĪĀA IELA 16-2;
MISNKAS 4 -115;
CISKADI,BAZNICAS 4;
它是如何能夠在SQL中的第一文本部分(區)的整數(房子和平板號碼)分開?
假設斷點總是第一個數字,則
SELECT RTRIM(LEFT(col, PATINDEX('%[0-9]%', col + '0') -1)) as District,
STUFF(col, 1, PATINDEX('%[0-9]%', col + '0') -1, '') as HouseAndFlat
FROM ...
例如
with t(col) as (
select
'ALKOŅU 3-20' union all select
'M.LUBŠNAS 16V-9' union all select
'STIEBRU 6-22' union all select
'ANDREJA UPĪĀA IELA 16-2' union all select
'MISNKAS 4 -115' union all select
'CISKADI,BAZNICAS 4')
SELECT RTRIM(LEFT(col, PATINDEX('%[0-9]%', col + '0') -1)) as District,
STUFF(col, 1, PATINDEX('%[0-9]%', col + '0') -1, '') as HouseAndFlat
FROM t
看看字符串函數:http://msdn.microsoft.com/en-us/library/ms181984%28v=sql.90%29.aspx。 CHARINDEX和SUBSTRING將成爲你的朋友 – 2011-03-17 07:57:48
@ralf - CHARINDEX不會削減它 – RichardTheKiwi 2011-03-17 08:03:24