databáze.Průvodce

v prostředích serveru SQL jsou dvě z mnoha řetězcových funkcí, které máme k dispozici, LEFT() a SUBSTRING().

tyto funkce dělají podobnou věc, ale existují rozdíly. Tento článek se zabývá některými hlavními rozdíly mezi těmito funkcemi.

Definice

za Prvé, pojďme se podívat na to, co každá funkce dělá:

LEFT() Vrátí levou část řetězec znaků s určený počet znaků., SUBSTRING() vrací část znaku, binárního, textového nebo obrazového výrazu.

takže LEFT() vrací pouze levou část řetězce.

SUBSTRING() jednoduše vrátí část výrazu (není omezena jen na levé straně – může to být vlevo, vpravo nebo někde uprostřed).

Příklad 1-stejný výsledek

obě funkce lze použít k návratu určitého počtu znaků zleva.

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

Výsledek:

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

Nicméně, LEFT() je výstižnější., To je částečně způsobeno skutečností, že v názvu funkce je méně znaků.

ale je to také kvůli syntaxi. LEFT() pouze funkci vyžaduje dva argumenty (výraz, a počet znaků pro návrat), vzhledem k tomu SUBSTRING() vyžaduje tři argumenty (výraz, počáteční pozice a počet znaků pro návrat od výchozí polohy).,

Příklad 2 – Když PODŘETĚZEC je Lepší

SUBSTRING() je lepší než LEFT() na získávání dat od středu řetězce. Levice na to vlastně není určena. Pokud jste opravdu chtěli použít LEFT(), musíte jako první argument použít funkci RIGHT().,

Příklad:

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

Výsledek:

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

Datové Typy

LEFT() funkce nepřijímá text a ntext typy dat, jako její první argument. Podporuje všechny ostatní datové typy, které lze převést na varchar nebo nvarchar.

SUBSTRING() funkce na druhé straně, přijímá znak, binární, text, ntext a image výrazy.,

Návratové Hodnoty

LEFT() vrátí varchar, když první argument je non-Unicode znak datového typu, a nvarchar, když je Unicode znak datového typu.,

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *