2013-04-25 29 views
12

Jak mogę przekonwertować identyfikator GUID, który jest 36 znaków na VARCHAR (32)?Konwersja identyfikatora GUID na varchar (32)

Próbuję skopiować dane z jednej tabeli do drugiej. Istnieją dwie podobne kolumny z tych dwóch tabel.

  1. Table1.colx jest identyfikator_GUID więc 36 znaków łącznie ze względu na łączników
  2. odpowiedniej kolumny jest table2.colx ale VARCHAR (32)

Szukam sposobu na konwersję identyfikatora GUID na VARCHAR, ale muszę usunąć łączniki. Do tej pory nie udało mi się znaleźć sposobu na zrobienie tego.

Odpowiedz

28

Zakładam, że jest to SQL Server ze znacznika SSMS.

Konwersja GUID na ciąg znaków, a następnie wymienić łączniki z pustymi strunami:

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

Ahhhh, która sprawia, że ​​świat sensu. Dziękuję Ci bardzo. Myślałem, że jestem zbyt blisko, starając się zrobić wszystko w jednym kroku. – Jfabs

+0

Czy mógłbyś mi pomóc z przykładem konwersji najpierw na string? Zastanawiam się, czy powinienem przygotować tymczasowy stolik czy coś takiego ... – Jfabs

+1

Jest to odpowiedź: 'CAST (table1.colx AS VARCHAR (36))'. Spowoduje to zwrócenie ciągu znaków GUID. Możesz użyć tego w dowolnym miejscu, w którym normalnie powinieneś odwoływać się do kolumny (w SELECT, WHERE, JOIN, itp.). Jeśli masz problem z ustaleniem, gdzie umieścić to, otwórz nowe pytanie i dołącz swój kod. Ping me tutaj, a ja z przyjemnością odpowiem na to. –