sql >> データベース >  >> RDS >> PostgreSQL

postgresqlとノードjsで同様の検索を行う方法

    node.js PostgreSQLインターフェースはよくわかりませんが、問題は見られると思います。これは、番号付きのプレースホルダーを含むSQL文字列リテラルです:

    '%$1%'
    

    $1 その文字列内はtagの値に置き換えられません 文字列内のプレースホルダーはプレースホルダーではないため、プレースホルダーと同じ形式のサブストリングにすぎません。

    通常の2つのオプションは次のとおりです。

    1. %を追加します クライアントコードのワイルドカード。
    2. %を連結します データベース内の文字列にワイルドカードを使用します。

    最初のものは次のようになります:

    db.client.query("SELECT * FROM tags WHERE name LIKE $1", ['%' + tag + '%'], ...
    

    そして2番目はこのように:

    db.client.query("SELECT * FROM tags WHERE name LIKE '%' || $1 || '%'", [tag], ...
    

    好みのアプローチを使用してください。



    1. bashからMySQLクエリを実行しているときに、影響を受ける行数を取得するにはどうすればよいですか?

    2. SQL:空のセルを前の行の値で埋める方法は?

    3. PostgreSQL:頻度テーブルの拡張

    4. 文字列を分割し、MySqlプロシージャの値をループします