Masalah: secara langsung menukarkan lajur yang mengandungi pengenal unik yang tidak mempunyai hyphen kepada jenis data VARCHAR
dalam SQL Server sering mengakibatkan kesilapan. Teknik penukaran standard gagal kerana tanda hubung yang hilang. UNIQUEIDENTIFIER
Penyelesaian: pertanyaan SQL yang cekap ini menyelesaikan masalah dengan memasukkan hipfen secara manual ke dalam rentetan sebelum pemutus: VARCHAR
<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>
Bagaimana ia berfungsi: Substrings Extracts Query dari input (VARCHAR
), secara strategik meletakkan tanda hubung untuk membina semula format standard @uuid
(xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx ). Rentetan yang dihasilkan kemudiannya dibuang ke jenis data UNIQUEIDENTIFIER
. Kaedah ini memastikan penukaran yang tepat walaupun berurusan dengan input kurang hipphen. UNIQUEIDENTIFIER
Atas ialah kandungan terperinci Bagaimana untuk Menukar VARCHAR Tanpa Sempang kepada UNIQUEIDENTIFIER dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!