Rumah >pangkalan data >tutorial mysql >Bagaimana cara menukar uuids varchar dengan cekap ke unik di SQL Server?

Bagaimana cara menukar uuids varchar dengan cekap ke unik di SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-24 16:31:15460semak imbas

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

SQL Server: Mengubah Varchar Uuids dengan cekap ke Unikidentifiers

Sesetengah pangkalan data menyimpan uUIDs (pengenal pasti unik) sebagai Varchar, mencipta isu keserasian ketika bekerja dengan .NET GUID yang memerlukan jenis data

. Penukaran langsung menggunakan UNIQUEIDENTIFIER atau CAST sering gagal kerana tanda hubung yang hilang dalam perwakilan Varchar. CONVERT

Penyelesaian ini menyediakan kaedah SQL Server yang diperkemas untuk menukar uuid varchar ini ke format

yang betul: UNIQUEIDENTIFIER

<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>
inilah cara pertanyaan ini berfungsi:

    a pembolehubah
  1. diisytiharkan dan diisytiharkan dengan sampel UUID String. VARCHAR @uuid fungsi
  2. mengekstrak bahagian yang diperlukan dari rentetan uuid.
  3. SUBSTRING Segmen yang diekstrak disatukan menggunakan tanda hubung untuk membina semula format UUID standard.
  4. Akhirnya,
  5. menukarkan rentetan yang diformat dengan betul ke dalam
  6. . CAST UNIQUEIDENTIFIER
  7. Pendekatan ini mengelakkan perubahan skema ke jadual asal dan mengekalkan proses penukaran sepenuhnya dalam SQL Server, meningkatkan kecekapan.

Atas ialah kandungan terperinci Bagaimana cara menukar uuids varchar dengan cekap ke unik di SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn