ホームページ  >  記事  >  データベース  >  MySQLの文字列関数の詳しい説明

MySQLの文字列関数の詳しい説明

零下一度
零下一度オリジナル
2017-07-17 11:01:441396ブラウズ

今日フォーラムでmysqlに関する質問を見ました

good_id cat_id
12654 601,4722

goods_idは商品IDです

cat_idはカテゴリIDです
、この分類IDに基づいてデータを確認する方法は次のとおりです。 ? (商品には複数のカテゴリがあり、カンマで区切られています)
この場合、カテゴリ ID 688 または 4722 を入力すると商品が表示されますが、カテゴリ ID 722 を入力すると、商品も登場します。

like を使用すると、間違いなく問題が発生します。私の最初のアイデアは、mysql の in 操作を使用できるように、cat_id の文字列を配列に置き換えて、検索 722 が表示されないようにすることです。 4722 カテゴリーのものが利用可能です。インターネットで長い間検索しましたが、この分野の文字列操作関数は見つかりませんでした。しかし、find_in_set関数は文字列を配列に変換できませんが、上記の状況は発生しないことがわかりました。知らない機能がたくさんあることがわかったので、長い間マニュアルやインターネットからいくつかの例を集めました。

CHAR_LENGTH(str) str

LENGTH(str) のバイト長を返します str

CONCAT(str1,str2....) パラメータ str1,str2..を返します。 .. スプライシングの場合、null 値がある場合は null が返されます

CONCAT_WS(x,str1,str2...) ---セパレータ付き連結 最初のパラメータ x はセパレータを表し、次のパラメータはセパレータを表しますare strings

If x が NULL の場合、文字列に NULL が含まれている場合は無視されます

INSERT(s1,x,len,s2) 文字列置換 s1 対象文字列 x は開始位置ですs1 の (添字は 1 から始まります) len は x の後の長さ、s2 は置換する必要がある文字列です

x が s1 の添字の長さを超える場合、len が の後の残りの文字列長より大きい場合、s1 を返します。 LCASE(str) 文字列を小文字に変換します

UPPER(str), UCASE(str) 文字列を大文字に変換します

LEFT(str,n) 文字列 str の左端の n 文字を返します

RIGHT(str,n) 文字列 str の右端の n 文字を返します。

LPAD(s1,len,s2) len

RPAD(s1,len,s2) は、len< の場合、s1 の右から len の長さまでパディングされた s2 を返します; s1 の長さ、その後 s2 は埋められず、s1 の左から len 長さの文字を返します

LTRIM(S) は左側のスペースを削除します RTRIM(s) は右側のスペースを削除します TRIM( s) 両側のスペースを削除

TRIM(s1 FROM s2) s2の両端にあるs1の文字列を削除

REPEAT(s,n) n s, n<=から構成される文字列を返す0、空を返します。s または n は NULL です。NULL を返します

SPACE(n) n 個のスペース文字列を返します

REPLACE(s,s1,s2) 戻り値 - すべての s1 文字列を置き換えた結果s by s2

STRCPM(s1,s2) s1==s2 は 0 を返します s1s2 は 1 を返します

SUBSTRING(s,n,len), MID(s,n) ,len) は、n から始まる s を返します。n

LOCATE(str1, str2), POSITION(str1 IN str2), INSTR(str2, str1) str2 内の str1 の開始位置を返します

REVERSE(s) s の文字列を返します Reverse

ELT(n,str1,str2,str3...) str1,str2..のn番目の文字列を返します。nがそれを超えた場合はnullを返します

FIELD(s,str1,str2,str3.. ..) str1、str2.... で最初に出現する s の位置を返します。0 は返されません

FIND_IN_SET(s, str1) str1 の位置での s の出現を返します。ここで、str1 は複数の値で構成されます。文字列、カンマ区切りのリスト

以上がMySQLの文字列関数の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。