sql >> Database >  >> RDS >> SQLite

Voeg tekenreeksen toe tussen enkele aanhalingstekens in SQLite-queryresultaten

Wanneer u met de SQLite-opdrachtregelshell werkt, heeft u de mogelijkheid om uw queryresultaten op te maken als letterlijke tekenreeksen.

U kunt dit doen door over te schakelen naar de "quote" -modus. Wanneer u dit doet, worden tekenreeksen tussen enkele aanhalingstekens geplaatst en worden interne enkele aanhalingstekens ontsnapt door te verdubbelen. Blobs worden ook weergegeven in hexadecimale blob-letterlijke notatie, getallen worden weergegeven als ASCII-tekst en NULL-waarden worden weergegeven als "NULL".

Als u uw resultaten wilt opmaken met dubbele aanhalingstekens, kunt u overwegen csv . te gebruiken modus.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

.mode quote
SELECT * FROM Products;

Resultaat:

1,'Widget Holder',139.49999999999999999
2,'Widget Opener',89.700000000000002838
3,'Bob''s Best Widget',374.19999999999998862
4,'Blue Widget',63.000000000000000001

Merk op dat Bob's Best Widget in de derde rij is dubbel geciteerd op zijn interne enkele aanhalingsteken.

U zult ook zien dat de resultaten worden weergegeven in een door komma's gescheiden lijst.

Merk op dat dubbele aanhalingstekens niet worden beïnvloed. Dit gebeurt er als ik dit item bijwerk naar Bob's "Beste" Widget en voer de query opnieuw uit.

UPDATE Products 
SET ProductName = 'Bob''s "Best" Widget' 
WHERE ProductId = 3;
SELECT * FROM Products;

Resultaat:

1,'Widget Holder',139.49999999999999999
2,'Widget Opener',89.700000000000002838
3,'Bob''s "Best" Widget',374.19999999999998862
4,'Blue Widget',63.000000000000000001

Bewaar de instelling

Wanneer u een nieuwe verbinding met SQLite opent, worden de queryresultaten uitgevoerd met de standaardindeling, een door sluiers gescheiden lijst. Met andere woorden, uw zoekopdrachtresultaten worden niet geciteerd en u moet .mode quote uitvoeren elke keer dat u verbinding maakt opnieuw.

Als u dit niet elke keer wilt doen als u verbinding maakt, kunt u uw instellingen opslaan in een configuratiebestand.

Voer hiervoor het volgende in een tekstbestand in:

.mode quote

En sla dat bestand op als .sqliterc in je thuismap.

Wanneer u nu verbinding maakt met de SQLite-opdrachtregelshell, zal het dat bestand lezen en de instellingen ervan gebruiken.

Als je al een bestand hebt, wil je het misschien gewoon bijwerken, terwijl je alle andere instellingen behoudt.


  1. Slaapstand native query - char (3) kolom

  2. Externe sleutelrelatie tussen twee databases toevoegen

  3. (+) =operator in oracle sql in where-clausule

  4. Hoe doe ik top 1 in Oracle?