Я генерирую значения уникального идентификатора с помощью NEWID (). Проблема в том, что иногда генерируются значения типа «65687519-E612-4B86-A8D8-F44E53DD6EDC». Первая часть значения уникального идентификатора - это все числовые символы (65687519). Это создает некоторую проблему в HTML. Как решить проблему? Тем не менее я не мог решить проблему. Кто-нибудь, пожалуйста, помогите.

-1
Gopal Biswas 19 Июн 2017 в 13:04
3
Тогда проблема в вашем коде, а не в функции NEWID().
 – 
juergen d
19 Июн 2017 в 13:05
Я генерирую значение с помощью NEWID (). Это не имеет ничего общего с кодированием. @ juergen d
 – 
Gopal Biswas
19 Июн 2017 в 13:11
Если у вас проблемы с выводом, значит, что-то не так с вашим кодом. NEWID() возвращает всегда действительный вывод.
 – 
juergen d
19 Июн 2017 в 13:12
Я генерирую значение с помощью NEWID () внутри хранимой процедуры. Так что я не думаю, что здесь нет ничего общего с кодированием @ juergen d
 – 
Gopal Biswas
19 Июн 2017 в 13:15

2 ответа

Вы ищете что-то вроде:

SELECT ABS(CAST(CAST(NEWID() AS VARBINARY(5)) AS Bigint)) as UNIQUE_NUMERIC

Не ненавидь Google. гугл твой друг! похожие проблемы уже опубликованы и ответили как Как получить числовой случайный уникальный идентификатор в SQL Server

0
Esteban P. 19 Июн 2017 в 13:08

Если вам не важен идентификатор и вы просто хотите, чтобы он был уникальным, вы можете добавить к нему некоторую заранее заданную строку (что, конечно, не повредит его уникальности). Например.:

SELECT 'id' + CAST(newid() AS VARCHAR(36)) AS new_id
0
Mureinik 19 Июн 2017 в 13:09