War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
uniqueidentifier (Transact-SQL)

uniqueidentifier (Transact-SQL)

Ein 16-Byte-GUID.

Es gibt die folgenden Möglichkeiten, um eine Spalte oder lokale Variable vom Datentyp uniqueidentifier zu initialisieren:

  • Mithilfe der NEWID-Funktion.

  • Durch die Konvertierung einer Zeichenfolgenkonstanten der Form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, in der jedes x für eine hexadezimale Ziffer zwischen 0 und 9 bzw. a und f steht. Beispielsweise ist 6F9619FF-8B86-D011-B42D-00C04FC964FF ein gültiger uniqueidentifier-Wert.

Vergleichsoperatoren können mit uniqueidentifier-Werten verwendet werden. Allerdings erfolgt das Sortieren nicht durch Vergleichen der Bitmuster der beiden Werte. Die einzigen Operationen, die mit einem uniqueidentifier-Wert ausgeführt werden können, sind Vergleiche (=, <>, <, >, <=, >=) und die Überprüfung auf NULL (IS NULL und IS NOT NULL). Es können keine weiteren arithmetischen Operatoren verwendet werden. Alle Spalteneinschränkungen und -eigenschaften, außer der IDENTITY-Eigenschaft, können mit dem uniqueidentifier-Datentyp verwendet werden.

Die Merge- und die Transaktionsreplikation mit Abonnements mit Aktualisierung verwenden uniqueidentifier-Spalten. Dadurch wird sichergestellt, dass die Zeilen über mehrere Kopien der Tabelle hinweg eindeutig identifiziert werden.

Der uniqueidentifier-Typ wird bei der Konvertierung von Zeichenausdrücken als Zeichentyp behandelt und unterliegt daher den Kürzungsregeln für die Konvertierung eines Zeichentyps. Das heißt, wenn Zeichenausdrücke in einen Zeichendatentyp mit einer anderen Größe konvertiert werden, dann werden Werte, die für den neuen Datentyp zu lang sind, abgeschnitten. Siehe den Abschnitt "Beispiele".

Das folgende Beispiel konvertiert einen uniqueidentifier-Wert in einen char-Datentyp.

DECLARE @myid uniqueidentifier = NEWID();
SELECT CONVERT(char(255), @myid) AS 'char';

Im folgenden Beispiel wird das Abschneiden von Daten veranschaulicht, wenn der Wert zu lang für den Datentyp ist, in den konvertiert wird. Da der uniqueidentifier-Typ auf 36 Zeichen beschränkt ist, werden die Zeichen, die diese Länge überschreiten, abgeschnitten.

DECLARE @ID nvarchar(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;

Dies ist das Resultset.

String                                       TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0

(1 row(s) affected)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft