如何将字符串连接到触发器中的随机字符串

时间:2014-01-29 10:35:07

标签: sql concatenation

此代码生成随机字符串。 如何将字符串连接到此代码??

CREATE TRIGGER dbo.insUser
   ON  dbo.UserProfile
AFTER Insert
AS
BEGIN
  SET NOCOUNT ON;
  DECLARE @UserId int
  SET @UserId = (SELECT max(UserId) FROM UserProfile)
UPDATE UserProfile set captcha =replace(SUBSTRING(CONVERT(varchar(255), NEWID()),8, 8),'-','') 
  WHERE UserId=@UserId
END

1 个答案:

答案 0 :(得分:0)

嗯,实际上NEWID()内置函数会返回唯一标识符,可以使用CONVERT函数转换为varchar,这样你就可以用它做一些事情。

replace(SUBSTRING(CONVERT(varchar(255), NEWID()),8, 8),'-','')

此代码从代数newid中的第8个位置开始占用8个字符,并替换所有-个符号。

对于串联字符串,您可以使用内置函数CONCAT,例如:

SELECT CONCAT(N'some random string: ', REPLACE(SUBSTRING(CONVERT(varchar(255), NEWID()), 1, 10),'-',''))