ホームページ >データベース >mysql チュートリアル >SQL Server で VARCHAR UUID を UNIQUEIDENTIFIER に効率的に変換するにはどうすればよいですか?

SQL Server で VARCHAR UUID を UNIQUEIDENTIFIER に効率的に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-24 16:31:15463ブラウズ

How to Efficiently Convert VARCHAR UUIDs to UNIQUEIDENTIFIERs in SQL Server?

SQL Server: VARCHAR UUID を UNIQUEIDENTIFIER に効率的に変換する

一部のデータベースは UUID (Universally Unique Identifier) を VARCHAR として保存するため、UNIQUEIDENTIFIER データ型を必要とする .NET GUID を操作するときに互換性の問題が発生します。 CAST または CONVERT を使用した直接変換は、VARCHAR 表現にハイフンがないために失敗することがよくあります。

このソリューションは、これらの VARCHAR UUID を正しい UNIQUEIDENTIFIER 形式に変換する効率的な SQL Server メソッドを提供します。

<code class="language-sql">DECLARE @uuid VARCHAR(50)
SET @uuid = 'a89b1acd95016ae6b9c8aabb07da2010'
SELECT CAST(
    SUBSTRING(@uuid, 1, 8) + '-' + SUBSTRING(@uuid, 9, 4) + '-' + SUBSTRING(@uuid, 13, 4) + '-' +
    SUBSTRING(@uuid, 17, 4) + '-' + SUBSTRING(@uuid, 21, 12)
    AS UNIQUEIDENTIFIER)</code>

このクエリの仕組みは次のとおりです:

  1. VARCHAR 変数 @uuid が宣言され、サンプル UUID 文字列で初期化されます。
  2. SUBSTRING 関数は、UUID 文字列の必要な部分を抽出します。
  3. 抽出されたセグメントはハイフンを使用して連結され、標準の UUID 形式が再構築されます。
  4. 最後に、CAST は、正しくフォーマットされた文字列を UNIQUEIDENTIFIER に変換します。

このアプローチでは、元のテーブルへのスキーマの変更が回避され、変換プロセスが完全に SQL Server 内に保持されるため、効率が向上します。

以上がSQL Server で VARCHAR UUID を UNIQUEIDENTIFIER に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。