Regler för att ange sökvärden (Visual Database Tools)
gäller för:SQL Server
I det här avsnittet beskrivs de konventioner som du måste använda när du anger följande typer av literalvärden för ett sökvillkor:
Textvärden
Numeriska värden
Datum
Logiska värden
Anteckning
Informationen i det här avsnittet härleds från reglerna för STANDARD SQL-92. Varje databas kan dock implementera SQL på sitt eget sätt. Därför kanske de riktlinjer som anges här inte gäller i alla fall. Om du har frågor om hur du anger sökvärden för en viss databas kan du läsa dokumentationen för den databas som du använder.
Söka efter textvärden
Följande riktlinjer gäller när du anger textvärden i sökvillkor:
Citattecken Omsluta textvärden inom enkla citattecken, som i det här exemplet för ett efternamn:
'Smith'
Om du anger ett sökvillkor i villkorsfönstretkan du helt enkelt skriva textvärdet och fråge- och vydesignern placerar automatiskt enkla citattecken runt det.
Not
I vissa databaser tolkas termer med enkla citattecken som literalvärden, medan termer med dubbla citattecken tolkas som databasobjekt som kolumn- eller tabellreferenser. Även om fråge- och vydesignern kan acceptera termer inom dubbla citattecken kan det därför tolka dem annorlunda än du förväntar dig.
Bädda in apostrofer Om data som du söker efter innehåller ett enkelt citattecken (en apostrofer) kan du ange två enkla citattecken för att indikera att du menar det enkla citattecknet som ett literalvärde och inte en avgränsare. Följande villkor söker till exempel efter värdet "Swann's Way:"
='Swann''s Way'
Längdgränser Överskrid inte den maximala längden på SQL-instruktionen för databasen när du anger långa strängar.
Skiftlägeskänslighet Följ skiftlägeskänslighetsreglerna för databasen som du använder. Databasen du använder avgör om textsökningar är skiftlägeskänsliga. Vissa databaser tolkar till exempel operatorn "=" som en exakt skiftlägeskänslig matchning, men andra tillåter matchningar oavsett kombination av versaler och gemener.
Om du är osäker på om databasen använder en skiftlägeskänslig sökning kan du använda funktionerna UPPER eller LOWER i sökvillkoret för att konvertera fallet med sökdata, enligt följande exempel:
WHERE UPPER(lname) = 'SMITH'
Söka efter numeriska värden
Följande riktlinjer gäller när du anger numeriska värden i sökvillkor:
Citattecken Omslut inte tal inom citattecken.
Icke-numeriska tecken Ta inte med icke-numeriska tecken förutom decimaltecknet (enligt definitionen i dialogrutan Regionala inställningar i Windows Kontrollpanel) och negativt tecken (-). Ta inte med teckengrupperingssymboler (till exempel kommatecken mellan tusentals) eller valutasymboler.
decimaltecken Om du anger heltal kan du inkludera ett decimaltecken, oavsett om värdet du söker efter är ett heltal eller ett verkligt tal.
Vetenskaplig notation Du kan ange mycket stora eller mycket små tal med hjälp av vetenskaplig notation, som i det här exemplet:
> 1.23456e-9
Söka efter datum
Vilket format du använder för att ange datum beror på vilken databas du använder och i vilket fönster i fråge- och vydesignern du anger datumet.
Not
Om du inte vet vilket format datakällan använder skriver du ett datum i filterkolumnen i fönstret Villkor i alla format som du känner till. Designern konverterar de flesta av dessa poster till lämpligt format.
Fråge- och vydesignern kan fungera med följande datumformat:
Lokalspecifik Formatet som anges för datum i dialogrutan Egenskaper för Windows regionala inställningar.
Databasspecifik Alla format som förstås av databasen.
ANSI-standarddatum Ett format som använder klammerparenteser, markören "d" för att ange datum och en datumsträng, som i följande exempel:
{ d '1990-12-31' }
ANSI standard datetime Liknar ANSI-standarddatum, men använder "ts" i stället för "d" och lägger till timmar, minuter och sekunder till datumet (med en 24-timmarsklocka), som i det här exemplet för 31 december 1990:
{ ts '1990-12-31 00:00:00' }
I allmänhet används ANSI-standarddatumformatet med databaser som representerar datum med hjälp av en sann datumdatatyp. Datetime-formatet används däremot med databaser som stöder en datetime-datatyp.
I följande tabell sammanfattas det datumformat som du kan använda i olika fönster i fråge- och vydesignern.
fönster | datumformat |
---|---|
Kriterier | Lokalspecifik databas-särskild ANSI-standard Datum som anges i villkorsfönstret konverteras till ett databaskompatibelt format i SQL-fönstret. |
SQL | Databasspecifik ANSI-standard |
Resultat | Lokalspecifika |
Söka efter logiska värden
Formatet för logiska data varierar från databas till databas. Mycket ofta lagras värdet False som noll (0). Värdet True lagras oftast som 1 och ibland som -1. Följande riktlinjer gäller när du anger logiska värden i sökvillkor:
Om du vill söka efter värdet False använder du en nolla, som i följande exempel:
SELECT * FROM authors WHERE contract = 0
Om du inte är säker på vilket format du ska använda när du söker efter ett True-värde kan du prova att använda 1, som i följande exempel:
SELECT * FROM authors WHERE contract = 1
Du kan också utöka sökomfånget genom att söka efter ett värde som inte är noll, som i följande exempel:
SELECT * FROM authors WHERE contract <> 0