Szukaj…
DZIESIĄTKA I NUMERYCZNA
Naprawiono precyzję i skalę liczb dziesiętnych. DECIMAL
i NUMERIC
są funkcjonalnie równoważne.
Składnia:
DECIMAL ( precision [ , scale] )
NUMERIC ( precision [ , scale] )
Przykłady:
SELECT CAST(123 AS DECIMAL(5,2)) --returns 123.00
SELECT CAST(12345.12 AS NUMERIC(10,5)) --returns 12345.12000
PŁYWAK i PRAWDZIWE
Typy danych o przybliżonej liczbie do użytku z danymi zmiennoprzecinkowymi.
SELECT CAST( PI() AS FLOAT) --returns 3.14159265358979
SELECT CAST( PI() AS REAL) --returns 3.141593
Liczby całkowite
Typy danych o dokładnej liczbie, które używają danych liczb całkowitych.
Typ danych | Zasięg | Przechowywanie |
---|---|---|
bigint | -2 ^ 63 (-9 223 372,036,854,775,808) do 2 ^ 63-1 (9,223,372,036,854,775,807) | 8 bajtów |
int | -2 ^ 31 (-2 147 483 648) do 2 ^ 31-1 (2 147 483 647) | 4 bajty |
smallint | -2 ^ 15 (-32768) do 2 ^ 15-1 (32767) | 2 bajty |
tinyint | Od 0 do 255 | 1 bajt |
PIENIĄDZE I MAŁE PIENIĄDZE
Typy danych reprezentujące wartości pieniężne lub walutowe.
Typ danych | Zasięg | Przechowywanie |
---|---|---|
pieniądze | -922,337,203,685,477,5808 do 922,337,203,685,477,5807 | 8 bajtów |
smallmoney | -214,748.3648 do 214 448,3647 | 4 bajty |
BINARY i VARBINARY
Typy danych binarnych o stałej lub zmiennej długości.
Składnia:
BINARY [ ( n_bytes ) ]
VARBINARY [ ( n_bytes | max ) ]
n_bytes
może być dowolną liczbą od 1 do 8000 bajtów. max
wskazuje, że maksymalna przestrzeń do przechowywania wynosi 2 ^ 31-1.
Przykłady:
SELECT CAST(12345 AS BINARY(10)) -- 0x00000000000000003039
SELECT CAST(12345 AS VARBINARY(10)) -- 0x00003039
CHAR i VARCHAR
Typy danych łańcuchowych o stałej lub zmiennej długości.
Składnia:
CHAR [ ( n_chars ) ]
VARCHAR [ ( n_chars ) ]
Przykłady:
SELECT CAST('ABC' AS CHAR(10)) -- 'ABC ' (padded with spaces on the right)
SELECT CAST('ABC' AS VARCHAR(10)) -- 'ABC' (no padding due to variable character)
SELECT CAST('ABCDEFGHIJKLMNOPQRSTUVWXYZ' AS CHAR(10)) -- 'ABCDEFGHIJ' (truncated to 10 characters)
NCHAR i NVARCHAR
Ciąg danych typu UNICODE o stałej lub zmiennej długości.
Składnia:
NCHAR [ ( n_chars ) ]
NVARCHAR [ ( n_chars | MAX ) ]
Użyj MAX
dla bardzo długich ciągów znaków, które mogą przekraczać 8000 znaków.
UNIKALNY IDENTYFIKATOR
16-bajtowy identyfikator GUID / UUID.
DECLARE @GUID UNIQUEIDENTIFIER = NEWID();
SELECT @GUID -- 'E28B3BD9-9174-41A9-8508-899A78A33540'
DECLARE @bad_GUID_string VARCHAR(100) = 'E28B3BD9-9174-41A9-8508-899A78A33540_foobarbaz'
SELECT
@bad_GUID_string, -- 'E28B3BD9-9174-41A9-8508-899A78A33540_foobarbaz'
CONVERT(UNIQUEIDENTIFIER, @bad_GUID_string) -- 'E28B3BD9-9174-41A9-8508-899A78A33540'