baza de date.Ghid (Română)

În SQL Server medii, două din șirul de funcții la dispoziția noastră sunt LEFT() și SUBSTRING(). aceste funcții fac un lucru similar, dar există diferențe. Acest articol analizează unele dintre principalele diferențe dintre aceste funcții.mai întâi, să ne uităm la ceea ce face fiecare funcție:

LEFT() returnează partea stângă a unui șir de caractere cu numărul specificat de caractere., SUBSTRING() returnează o parte dintr-un caracter, binar, text sau expresie imagine.

deci LEFT() returnează doar partea stângă a șirului.

SUBSTRING() returnează pur și simplu o parte a expresiei (nu se limitează doar la partea stângă – ar putea fi stânga, dreapta sau undeva în mijloc).

Exemplul 1 – același rezultat

ambele funcții pot fi utilizate pentru a returna un anumit număr de caractere din stânga.

SELECT LEFT("Buckethead", 6) AS , SUBSTRING("Buckethead", 1, 6) AS ;

Rezultat:

+--------+-------------+| LEFT | SUBSTRING ||--------+-------------|| Bucket | Bucket |+--------+-------------+

cu toate Acestea, LEFT() este mult mai concis., Acest lucru se datorează în parte faptului că există mai puține caractere în numele funcției.

dar este, de asemenea, din cauza sintaxei. LEFT() funcția necesită doar două argumente (expresia, și numărul de caractere pentru a reveni), întrucât SUBSTRING() necesită trei argumente (de exprimare, de la poziția de pornire, și numărul de caractere pentru a reveni la care poziția de pornire).,

Exemplul 2 – Când SUBȘIR este mai Bine

SUBSTRING() este mult mai bine decât LEFT() la hapsân datele din mijlocul șirului. De fapt, stânga nu este proiectat pentru asta. Dacă într-adevăr a vrut să folosească LEFT() pentru a face acest lucru, aveți nevoie pentru a face unele trucuri, cum ar fi utilizarea de un RIGHT() funcție ca prim argument.,

Exemplu:

SELECT LEFT(RIGHT("Buckethead", 7), 3) AS , SUBSTRING("Buckethead", 4, 3) AS ;

Rezultat:

+--------------+-------------+| LEFT/RIGHT | SUBSTRING ||--------------+-------------|| ket | ket |+--------------+-------------+

Acceptat Tipuri de Date

LEFT() funcția nu acceptă text și ntext tipuri de date ca prim argument. Acesta suporta toate celelalte tipuri de date care pot fi convertite în varchar sau nvarchar.

funcția SUBSTRING() pe de altă parte, acceptă expresii de caractere, binare, text, ntext și imagini.,

returnați valorile

LEFT() returnează varchar când primul argument este un tip de date de caractere non-Unicode și nvarchar când este un tip de date de caractere Unicode.,

The return values for SUBSTRING() are as follows:

Expression (first argument) Return type
char/varchar/text varchar
nchar/nvarchar/ntext nvarchar
binary/varbinary/image varbinary

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *