Sök…
DECIMALT och NUMERISK
Fast precision och skala decimaler. DECIMAL
och NUMERIC
är funktionellt likvärdiga.
Syntax:
DECIMAL ( precision [ , scale] )
NUMERIC ( precision [ , scale] )
Exempel:
SELECT CAST(123 AS DECIMAL(5,2)) --returns 123.00
SELECT CAST(12345.12 AS NUMERIC(10,5)) --returns 12345.12000
FLOAT och REAL
Datatyper för ungefärligt antal för användning med numerisk data med flytande punkt.
SELECT CAST( PI() AS FLOAT) --returns 3.14159265358979
SELECT CAST( PI() AS REAL) --returns 3.141593
heltal
Datatyper med exakt antal som använder heltalsdata.
Data typ | Räckvidd | Lagring |
---|---|---|
bigint | -2 ^ 63 (-9,223,372,036,854,775,808) till 2 ^ 63-1 (9,223,372,036,854,775,807) | 8 bytes |
int | -2 ^ 31 (-2,147,483,648) till 2 ^ 31-1 (2,147,483,647) | 4 bytes |
smallint | -2 ^ 15 (-32,768) till 2 ^ 15-1 (32,767) | 2 bytes |
tinyint | 0 till 255 | 1 Byte |
PENGAR och SMÅLJON
Datatyper som representerar monetära eller valutavärden.
Data typ | Räckvidd | Lagring |
---|---|---|
pengar | -922,337,203,685,477,5808 till 922,337,203,685,477,5807 | 8 byte |
smallmoney | -214,748,3648 till 214,748,3647 | 4 bytes |
BINARY och VARBINARY
Binära datatyper med antingen fast längd eller variabel längd.
Syntax:
BINARY [ ( n_bytes ) ]
VARBINARY [ ( n_bytes | max ) ]
n_bytes
kan vara valfritt nummer från 1 till 8000 byte. max
indikerar att det maximala lagringsutrymmet är 2 ^ 31-1.
Exempel:
SELECT CAST(12345 AS BINARY(10)) -- 0x00000000000000003039
SELECT CAST(12345 AS VARBINARY(10)) -- 0x00003039
CHAR och VARCHAR
Stringdatatyper av antingen fast längd eller variabel längd.
Syntax:
CHAR [ ( n_chars ) ]
VARCHAR [ ( n_chars ) ]
Exempel:
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 och NVARCHAR
UNICODE strängdatatyper av antingen fast längd eller variabel längd.
Syntax:
NCHAR [ ( n_chars ) ]
NVARCHAR [ ( n_chars | MAX ) ]
Använd MAX
för mycket långa strängar som kan överstiga 8000 tecken.
uniqueidentifier
En 16-byte 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'