Thursday, May 14, 2020

SQL UNIQUE AND RANDOM TRANSACTION NAMES

--UNIQUE AND RANDOM TRANSACTION NAMES (FOR HIGH VOLUME TRANSACTIONS PER SECOND)

DECLARE @randomString VARCHAR(255) = CONVERT(varchar(255), NEWID());

SELECT @randomString = replace(replace(replace(convert(varchar, getdate(), 120),':',''),'-',''),' ','') + RIGHT(@randomString,10);

PRINT ''+ CONVERT(VARCHAR,LEN(@randomString)) + ' CHARS / OF MAXIMUM 32 CHARS FOR LENGTH OF TRANSACTION NAMES'

SELECT @randomString


BEGIN TRANSACTION  @randomString

SELECT replace(replace(replace(convert(varchar, getdate(), 120),':',''),'-',''),' ','');

SELECT CONVERT(VARCHAR,getdate(),112) + LEFT(REPLACE(CONVERT(VARCHAR,getdate(),114),':',''),6);

SELECT REPLACE(SUBSTRING(CONVERT(VARCHAR(33),SYSDATETIMEOFFSET(),126), 1, 8), '-', '') +
SUBSTRING(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126),'T',''),'.',''),':',''),9,DATALENGTH(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126)))


COMMIT TRANSACTION  @randomString

OUTPUT

-- 24 CHARS / OF MAXIMUM 32 CHARS FOR LENGTH OF TRANSACTION NAMES
-- 202005141039592610925CAA  <- THIS IS THE ONE
-- 20200514103959
-- 20200514103959
-- 202005141039598866412-0500

No comments:

Post a Comment