重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
分割“版區(qū)負(fù)責(zé)人Id”,使其結(jié)果為
創(chuàng)新互聯(lián)建站專注于岑鞏企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。岑鞏網(wǎng)站建設(shè)公司,為岑鞏等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
版區(qū)Id????版區(qū)負(fù)責(zé)人Id
6????????????123
6????????????456
6????????????789
(這里,我想來(lái)想去,只有使用零時(shí)表+游標(biāo)來(lái)實(shí)現(xiàn),個(gè)人沒(méi)有想到更好的方法)
CREATE?FUNCTION?[dbo].[fun_Split]
(
@str?VARCHAR(MAX)?,
@split?VARCHAR(10)
)
RETURNS?TABLE
AS?
RETURN
(SELECT?B.id?FROM??????(?SELECT????[value]?=?CONVERT(XML?,?'v'?+?REPLACE(@str?,?@split?,?'/vv')
+?'/v')
)?A
OUTER?APPLY?(?SELECT??id?=?N.v.value('.'?,?'varchar(100)')
FROM????A.[value].nodes('/v')?N?(?v?)
)?B
)
GO
--2005以及以上的版本支持這種分割寫(xiě)法。
用xml path,把數(shù)據(jù)搞成你所要的結(jié)果
假設(shè)2016-01-01這話日期在單元格A1輸入公式B1=VALUE(TEXT(YEAR(A1)MONTH(A1)DAY(A1),0))問(wèn)題搞定純手打,望采納
如樓上給的 單獨(dú)分割一部分 ? ?也可用下面的函數(shù) 分割出一個(gè)集合
--?1.0?拆分字符串?參數(shù)?@strSource要操作的字符串?@strSeparator分隔符
CREATE?FUNCTION?[dbo].fn_splitStr(?@strSource?NVARCHAR(4000),@strSeparator?NVARCHAR(10)?)
RETURNS?@tbResult?TABLE(id?INT?IDENTITY(1,1),rs?NVARCHAR(1000))
AS
BEGIN
DECLARE?@dwIndex?INT,@strResult?NVARCHAR(1000),@dwSeparatorLen?INT=LEN(@strSeparator);
SET?@dwIndex?=?CHARINDEX(@strSeparator,@strSource);--?取得第一個(gè)分隔符的位置
WHILE?@dwIndex0
BEGIN
SET?@strResult?=?LEFT(@strSource,@dwIndex-1);
INSERT?@tbResult?VALUES(@strResult);
--將要操作的字符串去除已切分部分
SET?@strSource?=?SUBSTRING(@strSource,@dwIndex+LEN(@dwIndex),LEN(@strSource));
SET?@dwIndex?=?CHARINDEX(@strSeparator,@strSource);?--循環(huán)量增加
END
--處理最后一節(jié)
IF?LEN(@strSource)??0?INSERT?@tbResult?VALUES(@strSource)
RETURN;
END
GO
在SQL Server2000 中事務(wù)復(fù)制的改進(jìn)主要包括以下幾個(gè)方面.并行快照處理保證即使在創(chuàng)建初始快照時(shí)仍可對(duì)出版表進(jìn)行修改提高錯(cuò)誤處理能力可以跳過(guò)指定的錯(cuò)誤繼續(xù)進(jìn)行數(shù)據(jù)復(fù)制.在訂購(gòu)者處對(duì)復(fù)制數(shù)據(jù)進(jìn)行確認(rèn)包括對(duì)垂直分割的確認(rèn)通過(guò)SQL Server Enterprise Manager 也可以使用確認(rèn)
---
以上,希望對(duì)你有所幫助。
SQL Server Split函數(shù)
--Author:zc_0101
--說(shuō)明:
--支持分割符多字節(jié)
--使用方法
--Select * FROM DBO.F_SQLSERVER_SPLIT('1203401230105045','0')
--select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234','1234')
--Select * from DBO.F_SQLSERVER_SPLIT('ABC',',')
1 CREATE FUNCTION F_SQLSERVER_SPLIT(@Long_str NVARCHAR(MAX),@split_str NVARCHAR(100))
2 RETURNS @tmp TABLE(
3 ID inT IDENTITY PRIMARY KEY,
4 short_str NVARCHAR(MAX)
5 )
6 AS
7 BEGIN
8 DECLARE @short_str NVARCHAR(MAX),@split_str_length int,@split_str_Position_Begin int
9 SET @split_str_length = LEN(@split_str)
10 SET @Long_str=REPLACE(REPLACE(@Long_str,CHAR(10),''),CHAR(13),'')
11 IF CHARINDEX(@split_str,@Long_str)=1
12 SET @Long_str=STUFF(@Long_str,1,@split_str_length,'')
13 IF CHARINDEX(@split_str,@Long_str)=0
14 INSERT INTO @tmp SELECT @Long_str
15 ELSE
16 BEGIN
17 WHILE 10
18 BEGIN
19 SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
20 SET @short_str=LEFT(@Long_str,@split_str_Position_Begin-1)
21 IF @short_str'' INSERT INTO @tmp SELECT @short_str
22 SET @Long_str=STUFF(@Long_str,1,@split_str_Position_Begin+@split_str_length-1,'')
23 SET @split_str_Position_Begin = CHARINDEX(@split_str,@Long_str)
24 IF @split_str_Position_Begin=0
25 BEGIN
26 IF LTRIM(@Long_str)''
27 INSERT INTO @tmp SELECT @Long_str
28 BREAK
29 END
30 END
31 END
32 RETURN
33 END