SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQL連結関数を使用してクエリを作成する方法

クエリを操作する場合、データベースから生データを取得し、他の場所で使用するために別の方法で再フォーマットする必要がある場合があります。この記事では、クエリで文字列型を操作するのに役立つMySQLのいくつかの関数について説明します。

スキーマの構築

このセクションでは、この投稿で取り上げたSQLの概念を説明するための簡単なスキーマの準備について説明します。関数にはMySQLを使用します–構文の使用と検索クエリの実行を練習するには、SQLFiddleを使用することをお勧めします。そこで、他のリレーショナルデータベースでクエリをテストすることもできます。

テーブルの作成と値の挿入

CREATE TABLE birthdays (
 name varchar(200) NOT NULL,
 birthday varchar(10) NOT NULL
);
 
INSERT INTO birthdays (name, birthday) VALUES("Jane", "11/20/1993");
INSERT INTO birthdays (name, birthday) VALUES("Duncan", "01/15/1987");
INSERT INTO birthdays (name, birthday) VALUES("Lucas", "07/21/1996");
INSERT INTO birthdays (name, birthday) VALUES("Alexa", "12/31/1988");

上の4行は、テーブル「誕生日」を作成します 「名前」と「誕生日」の列があります。残りはデータベースに値を挿入します。これは、クエリステートメントを作成するときに使用します。

テーブルに対して基本的なクエリを実行すると、クエリステートメントと結果は次のようになります。

SELECT name, birthday FROM birthdays;

結果:

名前 誕生日
クリス 11/20/1993
ダンカン 1987年1月15日
ルーカス 1996年7月21日
アレクサ 1988年12月31日

クエリステートメントの作成

CONCAT()

CONCAT() 関数は、引数を1つの文字列に結合した後に結果を返します。少なくとも1つの引数がありますが、複数の関数が存在する場合があります。関数の引数は、次のいずれかになります。

  • バイナリ文字列 –引数のいずれかがバイナリ文字列の場合、戻り値はバイナリ文字列です。
  • 非バイナリ文字列 –一般的な文字列値。すべての引数が非バイナリ文字列値の場合、CONCAT() 非バイナリ文字列値を返します。
  • 数値 – 1つの入力が数値タイプの場合、他の引数と結合される前に、非バイナリ文字列に強制変換されます。
  • ヌル – NULL値がある場合、それらの値は単に無視されます。

正式な構文は次のとおりです。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

CONCAT( <str value 1>, <str value 2>, [ … <str value N> ]);

CONCATキーワードを括弧で囲んで使用し、関数であることを示します。括弧内にはN個の入力文字列があります。 MySQLを使用した場合の外観は次のとおりです。

SELECT CONCAT(name, " ", birthday) AS Result
FROM birthdays;

name、space char、birthdayの連結からの戻り値を「SELECT」し、それに「Result」という名前を割り当てます。

このクエリの結果は次のとおりです。

結果
クリス11/20/1993
ダンカン1987年1月15日
ルーカス1996年7月21日
Alexa 1988/12/31

この結果を、「スキーマの構築」セクションでテストした元のクエリステートメントと比較します。どう違うの?与えられた方法とは対照的に、この方法でデータを設定することの利点は何でしょうか?

必ずしも正しい答えも間違った答えもありません。アプリケーションでこのデータをどのように信頼するかがすべてです。

CONCAT_WS()

CONCAT_WS() 関数はCONCAT()と同じです ただし、関数には、元のCONCAT()にない必須の最初の引数があります。 関数。この引数は、関数内の残りの各引数の間にある区切り文字です。 CONCAT()の残りのルール 申し込み。

正式な構文は次のとおりです。

CONCAT_WS(<separator>, <str value 1>, <str value 2>, [ … <str value N> ]);

CONCAT_WS()を使用します 関数であることを示すために括弧を付けたキーワード。括弧内の最初の引数は、各入力文字列の間にある区切り文字です。残りの引数は、結合する文字列です。 MySQLを使用した外観は次のとおりです。

SELECT CONCAT_WS(", ", name, birthday) AS Result
FROM birthdays;

結果は、他の各引数の間にある最初の引数との文字列連結です。

結果
クリス、1993年11月20日
ダンカン1987年1月15日
ルーカス1996年7月21日
Alexa 1988/12/31

CONCAT()のように 関数、CONCAT_WS() 関数は、Resultという名前の1つの列のみを返します。ここで、値は、区切り文字と連結された入力文字列です。

結論

この記事では、SQL CONCAT()について説明します。 およびCONCAT_WS() MySQLでの使用に関連して機能します。他のリレーショナルデータベースを使用する場合、SQLの独自のフレーバーがある可能性があるため、構文にわずかな違いがある可能性があることに注意してください。関数の概念は同じですが、言い方が異なる場合があります。


  1. Excelで連結関数を使用する方法

    CONCATENATE Excelの関数は、テキストベースのセルをより簡単に操作するのに役立ちます。数値の計算を実行する関数はたくさんありますが、この関数は、複数のテキストセルを1つのセルにまとめるのに役立ちます。テキストが何であれ、元のセルを変更せずに組み合わせることができます。 Excelで連結関数を使用する前に ほとんどのExcel関数と同様に、いくつかの規則と制限があります。 1つ目は、関数自体の名前です。 Excel 2016以降を使用している場合は、CONCATENATEのいずれかを使用できます またはCONCAT 。 CONCAT 短いので簡単ですが、2つを同じように使用できま

  2. ROUND関数を使用してExcelで数値を丸める方法

    Excelプレゼンテーションの見た目と明瞭さを向上させるために、値を最も近い小数または整数に丸める必要がある場合があります。数値を四捨五入すると、最下位桁が削除されます。これにより、好みの精度でより見栄えのする値が得られます。 四捨五入は、見積もりを出したり、数値を扱いやすくしたりするためによく使用されます。たとえば、割引率を計算したいときに17.3587563などの数値を取得した場合、小数点以下1桁に四捨五入すると、17.4%になり、見栄えが良くなります。このチュートリアルでは、ROUND関数を使用して数値を丸める方法を示します。 Excelラウンド関数 ROUND関数は、数値を丸めるた