sql >> Database >  >> RDS >> Database

Hoe een set tekens op te halen met SUBSTRING in SQL?

Structured Query Language is bedoeld om gebruikers de mogelijkheid te bieden om de gegevens op te halen in een formaat dat ze willen. In dit artikel over een substring in SQL laat ik je zien hoe je een set karakters uit een string haalt. De volgende onderwerpen komen in dit artikel aan bod:

  • Wat is SQL?
  • Wat is SUBSTRING in SQL?
    1. Syntaxis:
  • SUBSTRING Voorbeelden:
    1. Gebruik SUBSTRING op Letters
    2. Gebruik SUBSTRING op tafel met voorwaarden
    3. GEBRUIK SUBSTRING voor geneste zoekopdrachten

Laten we beginnen!

Wat is SQL?

SQL of Structured Query Language is ontwikkeld door Donald D.Chamberlin en wordt gebruikt voor het beheren, openen en ophalen van gegevens in een database. Het bestaat uit verschillende opdrachten die zijn onderverdeeld in 4 categorieën (DDL, DML, DCL en TCL). SUBSTRING is zo'n commando in SQL, dat wordt gebruikt om een ​​set tekens uit de opgegeven tekenreeks op te halen.

Laten we vervolgens in dit artikel dieper ingaan op wat SUBSTRING is in SQL en hoe het te gebruiken.

Wat is SUBSTRING in SQL?

SUBSTRING in SQL is een functie die wordt gebruikt om tekens uit een tekenreeks op te halen. Met behulp van deze functie kun je een willekeurig aantal substrings uit een enkele string halen.

Syntaxis:

SUBSTRING(string, starting_value, length)

Hier,

  • String – Vertegenwoordigt de tekenreeks waaruit u een reeks tekens moet extraheren.
  • Beginwaarde – Dit vertegenwoordigt de startpositie van de string. Het eerste teken in de tekenreeks krijgt de waarde 1.
  • Lengte – Vertegenwoordigt het aantal tekens dat u wilt extraheren.

Raadpleeg de afbeelding hieronder voor de grafische weergave van SUBSTRING in SQL.

Opmerking:

  • De SUBSTRING-functie geeft een foutmelding als de lengteparameter negatief is.
  • De lengte van de tekens kan de maximale lengte van de originele tekenreeks overschrijden. In een dergelijk scenario wordt de hele string uit de genoemde startpositie gehaald.
  • Alle drie de velden zijn verplicht in deze functie
  • Als de beginpositie groter is dan het maximum aantal tekens in de tekenreeks, wordt er niets geretourneerd.

Omdat je de syntaxis en de regels voor het gebruik van de SUBSTRING in SQL hebt begrepen, laten we nu de verschillende manieren bespreken om het te gebruiken.

SUBSTRING Voorbeelden:

Voor een beter begrip heb ik de voorbeelden onderverdeeld in de volgende secties:

    1. Gebruik SUBSTRING op Letters
    2. Gebruik SUBSTRING op tafel met voorwaarden
    3. GEBRUIK SUBSTRING voor geneste zoekopdrachten

Laten we ze allemaal eens bekijken.

Gebruik SUBSTRING op Letters

Als je SUBSTRING in SQL gebruikt voor letterlijke waarden, extraheert het een subtekenreeks uit de opgegeven tekenreeks met een lengte en het begin van de initiële waarde die door de gebruiker wordt genoemd.

Voorbeeld 1

Schrijf een query om een ​​subtekenreeks uit de tekenreeks "Edureka" te extraheren, beginnend bij het 2-teken en moet 4 tekens bevatten.

 
SELECT SUBSTRING(‘Edureka’, 2, 4);

Uitvoer

dure

Voorbeeld 2

Schrijf een query om een ​​subtekenreeks van 8 tekens te extraheren, beginnend bij het 2-teken uit de tekenreeks "Edureka". Hier moeten we, als je opmerkt, een subtekenreeks extraheren waarvan de lengte groter is dan de maximale lengte van de uitdrukking.

SELECT SUBSTRING(‘Edureka’, 2, 8);

Uitvoer

dureka

Gebruik SUBSTRING op tabel met voorwaarden

Beschouw de onderstaande tabel met de tabelnaam Klanten.

CustID

CustName

CustEmail

1

Anuj

[email protected]

2

Akash

[email protected]

3

Mitali

[email protected]

4

Sonali

[email protected]

5

Sanjay

[email protected]

Als u wilt weten hoe u een tabel maakt en er waarden in invoegt, kunt u het artikel over CREATE en INSERT-statement raadplegen.

Voorbeeld 1

Schrijf een query om een ​​subtekenreeks van 3 tekens te extraheren, beginnend met het 1-teken voor de CustName "Akash".

SELECT SUBSTRING(CustName, 1, 3)
FROM Customers
WHERE CustName = ‘Akash’;

Uitvoer

Aka

Voorbeeld 2

Schrijf een query om een ​​substring te extraheren tot het einde van de string, beginnend voor het 2 karakter van de CustName “Akash”.

SELECT SUBSTRING(CustName, 2)
FROM Customers
WHERE CustName = ‘Akash’;

Uitvoer

kash

Voorbeeld 3

Schrijf een query om een ​​substring van 3 karakters te extraheren, beginnend met de 2 karakters voor de CustName en rangschik deze volgens de CustName.

SELECT CustName
FROM Customers
ORDER BY SUBSTRING(CustName, 2, 3);

Uitvoer:

anj
ita
kas
nuj
ona

GEBRUIK SUBSTRING voor geneste zoekopdrachten

Laat ons in dit gedeelte van dit artikel over een substring in SQL begrijpen hoe we de SUBSTRING-functie kunnen gebruiken voor geneste query's. Laten we, om hetzelfde te begrijpen, de tabel Klanten bekijken, die we hierboven hebben overwogen.

Voorbeeld:

Schrijf een query om het hele domein uit de CustEmail-kolom in de tabel Klanten te extraheren.

SELECT
    CustEmail,
    SUBSTRING(
        CustEmail,
        CHARINDEX('@', CustEmail)+1,
        LEN(CustEmail)-CHARINDEX('@', CustEmail)
    ) Domain
FROM
   Customers
ORDER BY
    CustEmail;

Uitvoer :

CustEmail

Domein

[email protected]

abc.com

[email protected]

xyz.com

[email protected]

pqr.com

[email protected]

abc.com

[email protected]

xyz.com

Omdat het domein begint na het @-teken, hebben we de functie CHARINDEX() gebruikt om te zoeken naar het @-teken in de CustEmail-kolom. Vervolgens wordt het resultaat van deze functie gebruikt om de startpositie en de lengte van de te extraheren substring te bepalen.

Dus mensen, zo kun je de SUBSTRING-functie in SQL gebruiken om gegevens op te halen. Daarmee komen we aan het einde van dit artikel over SUBSTRING in SQL. Ik hoop dat je dit artikel informatief vond.

Als je meer wilt weten over MijnSQL en leer deze open-source relationele database kennen, bekijk dan onze MySQL DBA-certificeringstraining die wordt geleverd met een door een instructeur geleide live training en real-life projectervaring. Deze training zal u helpen MySQL diepgaand te begrijpen en u te helpen het onderwerp onder de knie te krijgen.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel en ik neem contact met je op.


  1. OPENROWSET accepteert geen variabelen voor zijn argumenten (SQL Server)

  2. Hoe een XML-bestand in een database te laden met behulp van een SSIS-pakket?

  3. Een kolomwaarde bijwerken, een deel van een tekenreeks vervangen

  4. Wat zijn de voordelen van VistaDB