SQL reťazec sa rovná

Sql Retazec Sa Rovna



Operácie s reťazcami sú niektoré z najbežnejších a opakujúcich sa úloh vo svetovom vývoji. Dokonca aj pokiaľ ide o databázy, úlohy ako porovnávanie reťazcov zohrávajú kľúčovú úlohu pri filtrovaní údajov a vyhľadávaní zodpovedajúcich záznamov.

Či už ide o vyhľadávanie konkrétnych záznamov, filtrovanie údajov alebo vykonávanie rôznych úloh manipulácie s údajmi, pochopenie toho, ako SQL spracováva reťazec sa rovná, je kľúčové.

V tejto príručke sa ponoríme do reťazca SQL sa rovná tým, že sa pozrieme na podporovanú syntax, použitie a rôzne príklady pre lepšie pochopenie.







Syntax reťazca SQL sa rovná

Filtrovanie reťazcov môžete vykonať rôznymi spôsobmi. Jednou z najbežnejších a najjednoduchších techník je však použitie klauzuly WHERE.



Nasledujúci text zobrazuje syntax klauzuly:



VYBERTE stĺpec1, stĺpec2, ...
FROM table_name
WHERE názov_stĺpca = 'hodnota';

V tomto prípade 'column_name' predstavuje stĺpec, ktorý chceme porovnať, zatiaľ čo hodnota odkazuje na reťazcový literál, s ktorým ho chceme porovnať.





Používa operátor rovnosti, ktorý kontroluje, či sa poskytnuté reťazce zhodujú.

Vzorové údaje

Predtým, ako sa ponoríme do použitia, zostavme základnú vzorovú tabuľku, ktorá nám umožní demonštrovať použitie praktickejším spôsobom.



Zvážte príklad tabuľky a vzorových údajov, ako je uvedené nižšie:

Zamestnanci CREATE TABLE (
zamestnanec_id INT PRIMARY KEY AUTO_INCREMENT,
zamestnanec_meno VARCHAR(100),
department_id INT
);


INSERT INTO zamestnancov (meno_zamestnanca, ID_oddelenia) HODNOTY
('Phelps Dane', 101),
('Alana L', 102),
('E Johnson', 103),
(„Daniel B“, 104),
('Break Davis', 105),
('Jessica Wilson', 106),
(„Daniel Garcia“, 107),
(„Karen Martinez“, 108),
(„Anthony Robinson“, 109),
('Sophia Clark', 110);

Toto by malo vytvoriť tabuľku a pridať vzorové záznamy do tabuľky.

Príklad 1: Základné použitie

Zvážte nasledujúci príklad dotazu, ktorý používa operátor reťazec sa rovná na vyhľadanie zhodného záznamu, kde sa meno zamestnanca rovná Karen Martinez.

VYBRAŤ *
OD zamestnancov
WHERE zamestnanec_meno = 'Karen Martinez';

V danom dotaze vyberieme všetky stĺpce z tabuľky „zamestnanci“, kde sa stĺpec „meno_zamestnanca“ rovná „Karen Martinez“.

Výsledný výstup je nasledovný:

zamestnanec_id|meno_zamestnanca |identifikátor_oddelenia|
-----------+--------------+-------------+
8|Karen Martinez| 108 |

Príklad 2: Porovnanie reťazcov s rozlišovaním malých a veľkých písmen

Hoci to môže závisieť od databázového systému, porovnávanie reťazcov vo väčšine databázových systémov štandardne nerozlišuje veľké a malé písmená.

Ak chcete explicitne prinútiť databázu vykonať porovnanie s rozlišovaním malých a veľkých písmen, môžete použiť kľúčové slovo BINARY takto:

VYBRAŤ *
OD zamestnancov
WHERE BINARY zamestnanec_meno = 'Karen martinez';

V tomto prípade, keďže zadaný reťazec obsahuje malé písmeno M v mene Martinez, databáza s ním bude zaobchádzať ako s iným reťazcom. Preto neexistuje žiadny výsledok.

Príklad 3: Použitie zástupných znakov

V niektorých iných prípadoch môžeme chcieť vykonať kontrolu rovnosti reťazcov pomocou zástupných znakov. To zodpovedá reťazcom, ktoré sa zhodujú s konkrétnym formátom, a nie s jedným reťazcovým literálom.

To môže pomôcť poskytnúť flexibilitu pri vyhľadávaní bez toho, aby to skutočne zahltilo databázový nástroj.

Napríklad môžeme použiť zástupné znaky ako „%“ (zhoduje sa s akoukoľvek sekvenciou znakov) a „_“ (zhoduje sa s akýmkoľvek jedným znakom) v spojení s reťazcom sa rovná.

Pozrime sa na príklad takto:

VYBRAŤ *
OD zamestnancov e
WHERE zamestnanec_meno LIKE 'A%';

Tento dotaz vyhľadá všetkých zamestnancov, ktorých mená začínajú písmenom „A“.

Príklad 4: Uniknite špeciálnym znakom

V prípade, že potrebujete vyhľadať určité znaky ako súčasť reťazca, musíte ich pri použití v reťazci rovná sa im escape.

Ak chcete napríklad vyhľadať znak, ako je spätná lomka alebo jednoduchá úvodzovka ako súčasť reťazca, musíte ho opísať takto:

VYBRAŤ *
Z produktov
WHERE product_name = 'Sladké jablká';

V tomto prípade používame opačnú lomku na opustenie jednoduchého úvodzovky v reťazci.

Ak chcete opustiť spätnú lomku, môžete použiť dvojité spätné lomky takto:

VYBRAŤ *
Z produktov
WHERE product_name = 'Sladké\\ jablká';

To by malo obsahovať spätnú lomku v reťazcovom literáli.

Záver

V tomto návode sme sa dozvedeli o jednej z najbežnejších a najužitočnejších operácií s reťazcami v databázach, ktorou je porovnanie rovnosti reťazcov. Naučili sme sa syntax a použitie rôznych operátorov na porovnanie reťazcov.