分割合并的地址信息,为单个的列
数据库函数
USE [KomtraxData]
GO
/****** Object: UserDefinedFunction [dbo].[f_GetStr] Script Date: 2017/12/15 16:43:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[f_GetStr](
@s varchar(8000), --包含多个数据项的字符串
@pos int, --要获取的数据项的位置
@split varchar(10) --数据分隔符
)RETURNS varchar(1000)
AS
BEGIN
IF @s IS NULL RETURN(NULL)
DECLARE @splitlen int
SELECT @splitlen=LEN(@split+'a')-2
WHILE @pos>1 AND CHARINDEX(@split,@s+@split)>0
SELECT @pos=@pos-1,
@s=STUFF(@s,1,CHARINDEX(@split,@s+@split)+@splitlen,'')
RETURN(ISNULL(LEFT(@s,CHARINDEX(@split,@s+@split)-1),''))
END
调用方式
update Komtrax_Log_New_City set
sheng=dbo.f_GetStr(GPS_PLACE,1,' '),
shi=dbo.f_GetStr(GPS_PLACE,2,' '),
xian=dbo.f_GetStr(GPS_PLACE,3,' ')
以上调用,是依赖字符串中的空格规律
执行结果