Problem: Das direkte Konvertieren einer VARCHAR
-Spalte, die eindeutige Bezeichner ohne Bindestrich enthält, in den Datentyp UNIQUEIDENTIFIER
in SQL Server führt häufig zu Fehlern. Standardkonvertierungstechniken scheitern an den fehlenden Bindestrichen.
Lösung: Diese effiziente SQL-Abfrage löst das Problem, indem die Bindestriche vor der Umwandlung manuell in die Zeichenfolge VARCHAR
eingefügt werden:
<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>
So funktioniert es: Die Abfrage extrahiert Teilzeichenfolgen aus der Eingabe VARCHAR
(@uuid
) und platziert dabei gezielt Bindestriche, um das Standardformat UNIQUEIDENTIFIER
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) zu rekonstruieren ). Die resultierende Zeichenfolge wird dann in den Datentyp UNIQUEIDENTIFIER
umgewandelt. Diese Methode gewährleistet eine genaue Konvertierung, selbst wenn es sich um Eingaben ohne Bindestrich handelt.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen hyprenlosen Varchar in einen Uniqueidentifier in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!