Преобразование GUID в varchar (32)

Как преобразовать GUID, который является 36 символами в VARCHAR (32)?

Я пытаюсь скопировать данные из одной таблицы в другую. Есть два похожих столбца из этих двух таблиц.

  • Table1.colx - это идентификатор GUID, так что это всего 36 символов в общей сложности из-за дефисов
  • Соответствующий столбец table2.colx, но это VARCHAR (32)

Я ищу способ конвертировать GUID в VARCHAR, но мне нужно удалить дефисы. До сих пор я не увенчался успехом в попытках найти способ сделать это.

Ответ 1

Я предполагаю, что это SQL Server, из тега SSMS.

Преобразовать GUID в строку, а затем заменить дефисы пустым строками:

REPLACE(CAST(table1.colx AS VARCHAR(36)),'-','')