Таблица, для которой я не контролирую схему, содержит столбец, определенный как varchar (50), в котором хранятся уникальные идентификаторы в формате 'a89b1acd95016ae6b9c8aabb07da2010' (без дефисов)
Я хочу преобразовать их в уникальные идентификаторы в SQL для передачи в .Net Guid. Однако следующие строки запроса у меня не работают:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
и результат:
Msg 8169, уровень 16, состояние 2, строка 1 Ошибка преобразования при преобразовании из символьной строки в уникальный идентификатор.
Те же запросы с использованием уникального идентификатора с дефисом работают нормально, но данные не хранятся в этом формате.
Есть ли другой (эффективный) способ преобразовать эти строки в уникальные идентификаторы в SQL. - Я не хочу делать это в коде .Net.
sql
sql-server-2005
uniqueidentifier
граната
источник
источник
Ответы:
источник
Это было бы удобной функцией. Также обратите внимание, что я использую STUFF вместо SUBSTRING.
источник
ваш varchar col C:
источник
источник
Если ваша строка содержит специальные символы, вы можете хешировать ее в md5, а затем преобразовать в guid / uniqueidentifier.
источник
Предоставленное руководство имеет неправильный формат (предоставленное руководство .net).
источник