Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Förhandsversion av Microsoft Fabric
En konstant, även kallad literal eller ett skalärt värde, är en symbol som representerar ett specifikt datavärde. Formatet för en konstant beror på datatypen för det värde som den representerar.
Note
Termen konstant i programutveckling och begreppet konstant i Transact-SQL (T-SQL) är inte detsamma. Det finns inget specifikt sätt att ange ett globalt statiskt värde i T-SQL. Konstanter i T-SQL motsvarar strängliterala värden.
Teckensträngskonstanter
Teckensträngskonstanter omges av enkla citattecken och innehåller alfanumeriska tecken (a-z, A-Zoch 0-9) och specialtecken, till exempel utropstecken (!), vid tecknet (@) och taltecknet (#). Teckensträngskonstanter tilldelas standardsortering av den aktuella databasen. Om COLLATE-satsen används sker konverteringen till databasens standardkodsida fortfarande före konverteringen till sortering som anges av COLLATE-satsen. Teckensträngar som skrivs av användare utvärderas via datorns kodsida och översätts till databasens standardkodsida om det behövs.
Note
När en UTF8-aktiverad sortering anges med COLLATE-satsen sker konverteringen till databasens standardkodsida fortfarande innan konverteringen till sorteringen som anges av COLLATE-satsen. Konverteringen görs inte direkt till den angivna Unicode-aktiverade sorteringen. Mer information finns i Unicode-sträng.
Om alternativet QUOTED_IDENTIFIER har ställts in av för en anslutning kan teckensträngar också omges av dubbla citattecken, men Microsoft OLE DB-drivrutin för SQL Server och ODBC-drivrutin för SQL Server automatiskt använda SET QUOTED_IDENTIFIER ON. Vi rekommenderar att du använder enkla citattecken.
Om en teckensträng som omges av enkla citattecken innehåller ett inbäddat citattecken representerar du det inbäddade enkla citattecknet med två enkla citattecken. Detta krävs inte i strängar som är inbäddade inom dubbla citattecken.
Följande är exempel på teckensträngar:
'Cincinnati'
'O''Brien'
'Process X is 50% complete.'
'The level for job_id: %d should be between %d and %d.'
"O'Brien"
Tomma strängar representeras som två enkla citattecken utan något däremellan. I 6.x-kompatibilitetsläge behandlas en tom sträng som ett enda blanksteg.
Teckensträngskonstanter stöder utökade sortering.
Note
Teckenkonstanter större än 8 000 byte skrivs som varchar(max) data.
Unicode strings
Unicode-strängar har ett format som liknar teckensträngar, men är prefix med en N identifierare (N står för National Language i SQL-92-standarden).
Important
Prefixet N måste vara versaler.
'Michél' är till exempel en teckenkonstant medan N'Michél' är en Unicode-konstant. Unicode-konstanter tolkas som Unicode-data och utvärderas inte med hjälp av en kodsida. Unicode-konstanter har en sortering. Den här sorteringen styr främst jämförelser och skiftlägeskänslighet. Unicode-konstanter tilldelas standardsortering av den aktuella databasen. Om COLLATE-satsen används sker konverteringen till databasens standardsortering fortfarande innan konverteringen till sorteringen som anges av COLLATE-satsen. Mer information finns i Collation och Unicode Support.
Unicode-strängkonstanter stöder förbättrade sortering.
Note
Unicode-konstanter som är större än 8 000 byte skrivs som nvarchar(max) data.
Binary constants
Binära konstanter har prefixet 0x och är en sträng med hexadecimala tal. De omges inte av citattecken.
Följande är exempel på binära strängar:
0xAE
0x12Ef
0x69048AEFDD010E
0x (empty binary string)
Note
Binära konstanter som är större än 8 000 byte skrivs som varbinary(max) data.
Boolean constants
Booleska konstanter (bit) representeras av talen 0 eller 1och omges inte av citattecken. Om ett tal som är större än 1 används konverteras det till 1.
Date-time constants
datetime konstanter representeras med hjälp av teckendatumvärden i specifika format som omges av enkla citattecken.
Följande är exempel på datetime- konstanter:
'December 5, 1985'
'5 December, 1985'
'851205'
'12/5/98'
Exempel på datetime-konstanter är:
'14:30:24'
'04:24 PM'
Integer constants
Heltal (int) konstanter representeras av en sträng med tal som inte omges av citattecken och inte innehåller decimaltecken. int konstanter måste vara heltal. de får inte innehålla decimaler.
Följande är exempel på int konstanter:
1894
2
Decimal constants
decimaler konstanter representeras av en sträng med tal som inte omges av citattecken och innehåller en decimalpunkt.
Följande är exempel på decimaler konstanter:
1894.1204
2.0
Flyttalskonstanter
flyttal och verkliga konstanter representeras med hjälp av vetenskaplig notation.
Följande är exempel på flyttal eller verkliga värden:
101.5E5
0.5E-2
Money constants
pengar konstanter representeras som en sträng med tal med en valfri decimalpunkt och en valfri valutasymbol som prefix. pengar konstanter inte omges av citattecken.
SQL Server tillämpar inte någon form av grupperingsregler som att infoga ett kommatecken (,) var tredje siffra i strängar som representerar pengar.
Note
Kommatecken ignoreras var som helst i en strängliteral som omvandlas till pengar datatyp.
Följande är exempel på pengar konstanter:
$12
$542023.14
$-23
GUID constants
unikaidentifierare konstanter är en sträng som representerar ett GUID. De kan anges i antingen ett tecken- eller binärt strängformat.
I följande exempel anger båda samma GUID:
'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff
Ange negativa och positiva tal
Om du vill ange om ett tal är positivt eller negativt använder du operatorerna + eller - unary på en numerisk konstant. Detta skapar ett numeriskt uttryck som representerar det signerade numeriska värdet. Numeriska konstanter använder positiva när +- eller - unary-operatorerna inte tillämpas.
Signerade int-uttryck:
+145345234
-2147483648
Signerade decimaluttryck:
+145345234.2234
-2147483648.10
Signerade flyttal uttryck:
+123E-3
-12E5
Signerade pengar uttryck:
-$45.56
+$423456.99
Enhanced collations
Databasmotorn stöder tecken- och Unicode-strängkonstanter som stöder förbättrade sortering. Mer information finns i satsen COLLATE.