SQL切り取り文字列の特定の場所部分

2754 ワード

0 x 00はじめに
データベースでクエリーした結果の一部だけを結果として出力したい場合は、sql文をどのように書きますか?
0 x 01オフセットによる部分文字列の切り取り
mysql
select SUBSTR(name, 1, 5) from users;
select SUBSTRING(name, 1, 5) from users;
select SUBSTR(name, -1, 5);
select SUBSTR('hanmeimei', 1, 5);

関数プロトタイプ
SUBSTR(str,pos,len)

説明:
  • posは負数であり、開始値は1から0ではない.
  • strパラメータは、テーブル名であってもよく、文字列であってもよい.
  • sqlserverのSUBSTRINGはmysqlのSUBSTRINGと同じ機能です.

  • 0 x 02特定の文字列から一部の文字列を切り取る
    mysql
    select SUBSTR(name,INSTR(name,'hanmei'),10) from users;
    

    関数プロトタイプ
    SUBSTR(str,pos,len)
    INSTR(str,substr)
    

    説明:
  • INSTR()は、substrの最初の文字列の位置である特定の文字substrのオフセット位置を探す.
  • sqlserverのCHARINDEXはmysqlのINSTR機能と同じである.
  • mysqlにSUBSTRINGという関数があります.INDEX()は、指定された分割文字を使用して、ターゲット文字列をいくつかのセグメントに分割する役割を果たします.CHARINDEXとの違いに注意する必要があります.

  • 0 x 03参考文献
    1.mysql公式機能関数リスト