2012-03-26 6 views
1

GUIDまたは文字列を含むことができるNVARCHAR列のテーブルがあります。これは従来のテーブルなので、この時点では変更できません。nvarchar列のGuid値を確認する

GUIDを使用してレコードを取得する必要があります。助言がありますか?私は今のところ次のようなものを使っています。下のクエリのlike演算子の後の部分をUDFとして作成すると、パフォーマンスに影響を与えるか、より良い方法があるでしょうか?

SELECT * 
    FROM Table1 
WHERE Column1 LIKE '[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]' 
+1

もしあなたが '[0-9a-fA-F]'の代わりに '[0-9a-f]'や '[0-9A-F]'を使うのであれば、 'Column1'は' CI'照合を使います。 –

答えて

2

データを検証して検出しようとするカスタム関数を作成することができます。

http://ask.sqlservercentral.com/questions/23114/best-way-to-check-that-a-stringvarchar-guid-is-val.html

更新:

How to check if a string is a uniqueidentifier?

+0

私はこれをUDFにするアプローチを知っています。しかし、私は同じことがパフォーマンスに与える影響についてはわかりません。私は私の場合でも同じを測定するだろう。ここでより良いアプローチを探してください。ありがとうございます。 –

1

をあなたはsql clr functionを作成し、Guid.TryParseを呼び出すことができます:marc_sさんがあまりにもここに答える

チェック私は、TSQLのため、ここでいくつかのことを発見しました。

関連する問題