データベース。ガイド

SQL Server環境では、私たちの処分で多くの文字列関数の二つは、LEFT()SUBSTRING()です。

これらの関数は同様のことを行いますが、違いがあります。 この記事では、これらの関数の主な違いのいくつかを見ていきます。

Defintion

まず、各関数が何をするかを見てみましょう。

LEFT()指定された文字数の文字列の左側の部分を返します。, SUBSTRING()は、文字、バイナリ、テキスト、またはイメージ式の一部を返します。

SoLEFT()文字列の左側の部分のみを返します。

SUBSTRING()単に式の一部を返します(左の部分だけに限定されるものではありません–左、右、または中央のどこかにあります)。

例1-同じ結果

両方の関数を使用して、左から特定の数の文字を返すことができます。

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

結果:

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

ただし、LEFT()はより簡潔です。, これは、関数名に文字が少ないという事実によるものです。

しかし、それは構文のためでもあります。 LEFT()関数には二つの引数(式と返す文字数)のみが必要ですが、SUBSTRING()には三つの引数(式、開始位置、およびその開始位置から返,

例2-部分文字列が優れている場合

SUBSTRING()よりもはるかに優れていますLEFT()文字列の中央からデータを取得します。 実際には、左はそのために設計されていません。 これを行うには、LEFT()を本当に使用したい場合は、RIGHT()最初の引数として関数を使用するなど、いくつかのトリッキーを行う必要があります。,

例:

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

結果:

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

受け入れられるデータ型

LEFT()関数は、最初の引数としてtextおよびntextデータ型を受け入れません。 Varcharまたはnvarcharに変換できる他のすべてのデータ型をサポートしています。

一方、SUBSTRING()関数は、文字、バイナリ、テキスト、ntext、および画像の式を受け入れます。,

戻り値

LEFT()最初の引数が非Unicode文字データ型の場合はvarcharを返し、Unicode文字データ型の場合はnvarcharを返します。,

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です