序文 これは私が最近見つけた新しい機能です。 プロジェクトでの私の使用シナリオは次のとおりです。 アプリケーション タイプ テーブルには、parentId フィールドと parentIds フィールドが含まれています。前者は親 ID で、後者は複数レベルの親 ID です。どちらもデータベース内では varchar 型です。parentIds は複数の親 ID で構成され、"" で区切られています。 チームリーダーからこの機能が使えると言われたので、実際に使ってみて勉強してみました。 文法
意味
strlist: 英語のカンマ「,」で連結された文字列。例:「a,b,c,d」。この文字列は、カンマで連結された SET 型の値に似ています。 例: SELECT FIND_IN_SET('b','a,b,c,d'); //戻り値は2で、これは2番目の値です 例 記事テーブルにはタイプフィールドがあり、1 見出し、2 おすすめ、3 ホットスポット、4 画像とテキストなどの記事タイプが格納されます。 ここで find_in_set が役に立ちます。引用内容は以下のとおりです。 FIND_IN_SET('4',type) で記事から * を選択 find_in_set() と in の違い: 2つの違いを示すテストテーブルを作成する テーブル `tb_test` を作成します ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `list` varchar(255) NOT NULL, 主キー (`id`) ); `tb_test` に VALUES (1, 'name', 'daodao,xiaohu,xiaoqin') を挿入します。 `tb_test` に値 (2、'name2'、'xiaohu、daodao、xiaoqin') を挿入します。 `tb_test` に値 (3、'name3'、'xiaoqin、daodao、xiaohu') を挿入します。 当初、MySQL は次のようなクエリを実行できると考えていました。 tb_test から id、name、list を選択 WHERE 'daodao' IN(list); -- (I) 実際、これは機能しません。クエリは、リスト フィールドの値が 'daodao' と等しい (IN の前の文字列と完全に一致する) 場合にのみ有効です。それ以外の場合は、'daodao' が実際にリストにあっても結果は取得されません。 これを見てみましょう: tb_test から id、name、list を選択 WHERE 'daodao' IN ('libk', 'zyfon', 'daodao'); -- (II) それはいいです。 これら2つの違いは何ですか?なぜ最初の方法では正しい結果が得られないのに、2 番目の方法では正しい結果が得られるのでしょうか。その理由は、(1)の(list)リストは変数であるのに対し、(2)の('libk'、'zyfon'、'daodao')は定数だからです。 したがって、(1)を正しく動作させたい場合には、 find_in_set(): SELECT id,name,list from tb_test WHERE FIND_IN_SET('daodao',list); -- (I) の改良版 要約する MySQL の find_in_set 関数の基本的な使い方についてはこれで終わりです。MySQL の find_in_set 関数の使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Centos7 でスーパーバイザ デーモンをインストールして設定する方法
>>: Vue.jsはElement-uiを使用してナビゲーションメニューを実装します
MySQL は、SQL 解析とクエリ最適化のプロセスを通じて SQL を実行します。パーサーは SQ...
私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...
HTML onfocus イベント属性定義と使用法onfocus 属性は、要素がフォーカスを受け取っ...
オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...
Rownum は、Oracle での独自の書き込み方法です。Oracle では、rownum を使用...
目次1. イベントのリスニング2. イベントパラメータを渡す3. イベント修飾子ケース1: クリック...
私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...
質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...
序文以前フロントエンドを勉強していたとき、メタタグに対する私の理解はこの一文だけでした。 <メ...
CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...
序文:データベースパラダイムについてはよく耳にしていましたが、詳細まで理解したことはありませんでした...
最近、MySQL関連の構文をよく見かけます。また、MySQLストアドプロシージャの書き方も学びたいの...
必要最近、Node オンライン サービスを移行する必要があったため、2 つの新しいオンライン サーバ...
カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...
最近、Docker を使用して Java アプリケーションをデプロイしていたときに、タイムゾーンが間...