Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 需要增加一个GUID,10次中有9次我将重新检查您正在尝试执行的操作。与其增加GUID,不如只添加一个额外的序列列来消除歧义?因此,它们应该是“随机的”因为它们是全球唯一的……为什么要让下一代GUID变得可预测? LEFT([ID], 19) + RIGH_Sql Server_Tsql_Uniqueidentifier - Fatal编程技术网

Sql server 需要增加一个GUID,10次中有9次我将重新检查您正在尝试执行的操作。与其增加GUID,不如只添加一个额外的序列列来消除歧义?因此,它们应该是“随机的”因为它们是全球唯一的……为什么要让下一代GUID变得可预测? LEFT([ID], 19) + RIGH

Sql server 需要增加一个GUID,10次中有9次我将重新检查您正在尝试执行的操作。与其增加GUID,不如只添加一个额外的序列列来消除歧义?因此,它们应该是“随机的”因为它们是全球唯一的……为什么要让下一代GUID变得可预测? LEFT([ID], 19) + RIGH,sql-server,tsql,uniqueidentifier,Sql Server,Tsql,Uniqueidentifier,需要增加一个GUID,10次中有9次我将重新检查您正在尝试执行的操作。与其增加GUID,不如只添加一个额外的序列列来消除歧义?因此,它们应该是“随机的”因为它们是全球唯一的……为什么要让下一代GUID变得可预测? LEFT([ID], 19) + RIGHT(CONVERT(uniqueidentifier, CONVERT(binary(16), CONVERT(binary(16), [ID]) + CONVERT(bigint, 1))), 17) AS 'MyNewID' declar


需要增加一个GUID,10次中有9次我将重新检查您正在尝试执行的操作。与其增加GUID,不如只添加一个额外的序列列来消除歧义?因此,它们应该是“随机的”因为它们是全球唯一的……为什么要让下一代GUID变得可预测?
LEFT([ID], 19) + RIGHT(CONVERT(uniqueidentifier, CONVERT(binary(16), CONVERT(binary(16), [ID]) + CONVERT(bigint, 1))), 17) AS 'MyNewID'
declare @guid uniqueidentifier, @binaryUpper8 binary(8), @binaryLower8 binary(8), @binary16 binary(16), @bigint bigint
set @guid = 'A6BC60AD-A4D9-46F4-A7D3-98B2A7237A9E'
set @binary16 = cast(@guid as binary(16))

--harvest lower 8 bytes
select @binaryUpper8= substring(@binary16, 1, 8)
    ,@binaryLower8  = substring(@binary16, 9, 8)
set @bigint = cast(@binaryLower8 as bigint)

--increment
set @bigint = @bigint + 1

--convert back
set @binaryLower8 = cast(@bigint as binary(8))
set @binary16 = @binaryUpper8 + @binaryLower8
set @guid = cast(@binary16 as uniqueidentifier)
select @guid
create function [dbo].[IncrementGuid](@guid uniqueidentifier) 
returns uniqueidentifier 
as 
begin 
declare @guid_binary binary(16), @b03 binary(4), @b45 binary(2), @b67 binary(2), @b89 binary(2), @bAF binary(6)

select @guid_binary = @guid

select @b03 = convert(binary(4), reverse(substring(@guid_binary,1,4)))
select @b45 = convert(binary(2), reverse(substring(@guid_binary,5,2)))
select @b67 = convert(binary(2), reverse(substring(@guid_binary,7,2)))
select @b89 = convert(binary(2), substring(@guid_binary,9,2))
select @bAF = convert(binary(6), substring(@guid_binary,11,6))

if (@b03 < 'FFFFFFFF')
begin
    select @b03 = convert(binary(4), cast(@b03 as int) + 1)
end
else if (@b45 < 'FFFF')
begin
    select @b45 = convert(binary(2), cast(@b45 as int) + 1)
end
else if (@b89 < 'FFFF')
begin
    select @b89 = convert(binary(2), cast(@b89 as int) + 1)
end
else
begin
    select @bAF = convert(binary(6), cast(@bAF as bigint) + 1)
end

return convert(binary(16), reverse(convert(char(4),@b03)) + reverse(convert(char(2),@b45)) + reverse(convert(char(2),@b67)) + convert(char(2),@b89) + convert(char(6),@bAF))
end