SQL Server INT-Datentyp

Verwenden Sie den SQL Server INT-Datentyp, um Spalten, Variablen und Parameter zu definieren, die ganze Zahlen speichern.

Der Datentyp INT speichert eine Zahl im Bereich von -2.147.483.648 bis 2.147.483.647. Wenn Sie einen größeren ganzzahligen Wert speichern müssen, sollten Sie BIGINT verwenden.

INT wird nicht nur für Zahlen verwendet, sondern auch zum Definieren von Primär- und Fremdschlüsseln. Verwenden Sie es, um verschiedene ID-bezogene Spaltentypen zu erstellen:

Konvertieren von INT-Werten

Wenn Ganzzahlen in Zeichen konvertiert werden, wird ein Sternchen (*) ausgegeben, wenn die Ganzzahl mehr Ziffern als im CHAR-Typ definiert hat. Versuchen Sie diese SQL, um den Effekt zu sehen:

WÄHLEN SIE CAST(123456 ALS char(6)) ALS FitsInChar , CAST(1234567 ALS char(6)) ALS TooBig;
SELECT CAST(123456 AS char(6)) AS FitsInChar , CAST(1234567 AS char(6)) AS TooBig; 

Beim Ausführen von Arithmetik konvertiert SQL Server in den Dezimaltyp integer Konstante Werte, wenn die Werte größer als für INT zulässig sind.

WÄHLEN SIE 2147483647/2 ALS IntegerResult, 2147483648/2 ALS DecimalResult;
SELECT 2147483647 / 2 AS IntegerResult , 2147483648 / 2 AS DecimalResult;

Beachten Sie 2147483648, obwohl, wenn sogar durch zwei dividieren , und alles, was innerhalb der Grenzen von INT liegt, resultiert als Dezimaltyp.

Auf den ersten Blick macht dies keinen Sinn, da das Ergebnis eindeutig in einen INT, Typ „passt“; Der konstante Wert ist jedoch verdächtig. Es wird vor der Operation in DEZIMAL konvertiert, wodurch der Typ des Ergebnisses in DEZIMAL umgewandelt wird.

Beispiele für SQL INT

Verwenden Sie arithmetische Operatoren wie +,-, * und /, um mit INT zu arbeiten.

WÄHLEN SIE Name , ProductNumber , DaysToManufacture , DaysToManufacture / 2 ALS HalfDaysToManuFacture , DaysToManufacture * 2 ALS DoubleDaysToManuFacture AUS DER Produktion.Product WHERE DaysToManufacture > 1;
SELECT Name , ProductNumber , DaysToManufacture , DaysToManufacture / 2 AS HalfDaysToManuFacture , DaysToManufacture * 2 AS DoubleDaysToManuFacture FROM Production.Product WHERE DaysToManufacture > 1;

Da die Operanden, also die Spalte und die Zahl, ganze Zahlen sind, ist das Ergebnis auch eine ganze Zahl.

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.