2013-04-25 4 views
12

36の文字をVARCHAR(32)に変換するにはどうすればよいですか?GUIDをvarchar(32)に変換する

あるテーブルから別のテーブルにデータをコピーしようとしています。これらの2つのテーブルから2つの同様の列があります。

  1. Table1.colxはそれが原因ハイフンの合計長さは36文字
  2. 対応する列であるGUIDであることtable2.colxであるが、VARCHAR(32)
あります

GUIDをVARCHARに変換する方法を探していますが、ハイフンを削除する必要があります。これまでのところ私はこれを行う方法を見つけようとした私の試みに失敗しました。

答えて

28

これは、SSMSタグのSQL Serverと仮定しています。

その後、空の文字列でハイフンを置き換え、文字列にGUIDを変換します感覚の世界を作る

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

えーえ、。どうもありがとうございました。私はそれを一歩一歩してやろうと思っていた。 – Jfabs

+0

文字列に変換する例を私に助けてくれますか?私は一時的なテーブルや何かを設定する必要があるかどうか疑問に思っています... – Jfabs

+1

それは答えています: 'CAST(table1.colx AS VARCHAR(36))'。これにより、GUIDの文字列表現が返されます。通常は列を参照する場所(SELECT、WHERE、JOINなど)のどこでも使用できます。これを置く場所を見つけにくい場合は、新しい質問を開いてコードを追加してください。ここで私にpingして、私はそれに答えてうれしいです。 –