2013-04-25 29 views
12

36 karakterleri olan GUID'yi bir VARCHAR (32) haline nasıl dönüştürebilirim?GUID'i varchar'a dönüştürme (32)

Verileri bir tablodan diğerine kopyalamaya çalışıyorum. Bu iki tablodan iki benzer sütun var.

  1. Table1.colx böylece nedeniyle karşılık gelen sütun table2.colx olan tire
  2. için toplam uzunluğu 36 karakter ama (32)
VARCHAR bir GUID'dir

GUID'yi VARCHAR'a dönüştürmenin bir yolunu arıyorum, ancak tire işaretlerini kaldırmam gerekiyor. Şimdiye kadar bunu yapmanın bir yolunu bulma girişimlerimde başarısız oldum.

cevap

28

Bunun SQL Server olduğunu, SSMS etiketinden olduğunu varsayalım.

sonra boş dizeleri ile tire yerine, bir dizeye GUID dönüştürme:

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

Ahhhh, bu anlamda ciddi bir farktır. Çok teşekkür ederim. Her şeyi tek adımda yapmaya çalışan çok yakın düşünmekteydim. – Jfabs

+0

Belki de ilk olarak dizeye dönüştürmek için bir örnek yardımcı olabilir misiniz? Geçici bir tablo veya bir şey ayarlamalıyım mı diye merak ediyorum ... – Jfabs

+1

Cevap şu: 'CAST (tablo1.colx AS VARCHAR (36)) '. Bu GUID'nin dize gösterimini döndürür. Normalde bu sütuna (SELECT, WHERE, JOIN, vb.) Başvurduğunuz her yerde kullanabilirsiniz. Bunu nereye koyacağınızı bulmakta sorun yaşıyorsanız, yeni bir soru açın ve kodunuzu ekleyin. Buraya pes et ve cevap vermekten mutluluk duyarız. –