def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"- モデル
- OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
- プロジェクト
- 束縛パラメータで百分率記号、下線、感嘆符、空文字を試し、ワイルドカードの追加や大小文字区別の保証をせずNULを拒否してください。
- 適用前に確認
- 実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"検索欄の入力を利用者の意図どおりに扱う
検索欄に記号を入力する人は、その文字自体が見つかると期待することがあります。一方、データベースのクエリは別の意味に解釈するかもしれません。LikeSailは、入力欄からクエリ呼び出しまで、アプリ内のこの食い違いを調べられるWindows向けAIコーディング環境です。意図する検索動作を説明し、クエリを組み立てて実行するコードの調査を依頼してください。
SQL LIKEの例は、パーセント記号、アンダースコア、エスケープ文字を扱う限定的な開発作業です。文字列をそのまま検索する入力がバインド値になるまでの流れと、クエリでのエスケープ規則の宣言をレビューできます。ヘルパーだけでなく呼び出し側も確認し、実際のデータベースの結果をテストしてください。文字どおりの一致要件は、クエリの安全性や許可する検索構文といった広い問題と区別します。
拒否を抑制する調整を施したabliterated AIモデルを使う場合は、対応するOpenAI互換またはAnthropicのエンドポイントで提供されるモデルを選び、必要な認証情報を指定します。コンテキスト、ツール、制限は、そのモデル、サーバー、プロバイダーによって決まります。プロジェクトのデータベース検証を実行する前に、編集案をレビューしてください。ローカルモデルサーバーを使っても、他の接続ツールやデータベース接続には、それぞれ外部の接続先が存在する場合があります。
検索の契約を定める
- パーセント記号とアンダースコアは常に文字そのものとして扱いますか?
提供したい検索画面によります。ワイルドカード式を入力できるのか、通常の文字列だけなのかを示してください。その決定に照らしてクエリの組み立てを調べ、表示された入力の意味が保持されると思い込まずに記号をテストします。
- LIKE文字のエスケープはパラメータのバインドの代わりになりますか?
いいえ。文字どおりのパターン処理とクエリ値のバインドは異なる問題を解決します。ヘルパーの結果がデータベース呼び出しに届く経路をレビューし、意図したパラメータ化を維持してください。小さなエスケープ例だけから、クエリ全体の安全性を推測してはいけません。
- 変更にはどのデータベース例を添えますか?
ワイルドカード文字、エスケープ文字、通常の文字列を含む行と、各検索の期待一致結果を用意します。プロジェクトのデータベース構成で実行し、同じ規則の下でクエリとヘルパーを一緒にテストしてください。
- LikeSailがデータベースの検索設定を変更しますか?
自動設定変更を意味するものではありません。既存のクエリと接続動作の調査を依頼し、コードや設定の変更案をレビューしてください。検索の意味を検証する場所は、プロジェクトで実際に使うデータベースです。
LikeSail · 更新日 2026-10-25