@@IDENTITY
возвращает последнее удостоверение личности на текущей сессии (из INSERT
, SELECT INTO
или bulk copy
).
У вас нет столбца uniqueidentifier в качестве столбца идентификации - это не поддерживается в SQL Server. Поэтому ваш вопрос не имеет смысла, если вы на самом деле не пытаетесь преобразовать идентификатор INT в какой-то хэш?
Наиболее вы могли бы сделать, это взять @@IDENTITY
из вставки (из позволяет сказать столбец целое ID с IsIdentity
значение ИСТИНА), то хэш его - Примечание: полученный хэш НЕ GUID:
INSERT INTO [Test].[dbo].[tbl_uqTest]
(Test)
VALUES ('x')
SELECT CONVERT(VARCHAR(32), HASHBYTES('MD5', CONVERT(VARCHAR(255), @@IDENTITY)), 2)
Скажу, однако, я действительно не могу придумать вескую причину для этого!
Это преобразование не имеет смысла. Что вы пытаетесь достичь? –
Не связано с вашим вопросом, но 'scope_identity()' почти всегда является лучшим выбором, чем '@@ identity'. '@@ identity' дает последний идентификатор для данного сеанса, тогда как' scope_identity() 'дает последний идентификатор в текущем сеансе и области. http://msdn.microsoft.com/en-us/library/ms190315.aspx –