文字列内の文字を新しい行とタブに置き換えます行の終わりやタブを含まず、スペースのみを含む文字列にSQLコマンドを含める必要があるOLEDBクエリを作成しています。
以下は機能しますが、「空の」文字列を作成せずにこれを行う方法を見つけることができません。
ユーザーは、WindowsマシンにインストールされているJMPを使用して、SQLクエリを変更できます。
SQL_query = "SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
// Cleansing strings (inputs need to be in one line)
newline = "
";
tab = " ";
space = " ";
SQL_query = substitute(SQL_query, tab, space);
SQL_query = substitute(SQL_query, newline, space);
スクリプティングRe:文字列内の文字を新しい行とタブに置き換えます使用できますエスケープシーケンスそれらの特殊文字のために。
SQL_query =
"SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
SQL_query = Substitute( SQL_query,
"\!t", " ",
"\!r", " "
);
あなたはまた見つけるかもしれませんInto()に置き換えます便利な機能。 それはその場で置換を行い、元の文字列への割り当てを回避します。
Substitute Into( SQL_query,
"\!t", " ",
"\!r", " "
);
Re:文字列内の文字を新しい行とタブに置き換えます何らかの理由で、私が開発しているアドイン内では、これらの置換はどれも機能しないようです(?)
コードをコピーして貼り付けると、置換が機能します。
Re:文字列内の文字を新しい行とタブに置き換えますそれは変だ。 これに影響を与えるアドインについて特別なことは何もありません。 正確に機能していないものについて、もう少し詳しく教えていただけますか?
Hex()関数は、入力文字列に含まれる(非表示の)文字を正確に確認するのに役立つ場合があります。
tab = "\!t";
Show( Hex( tab ) );
return = "\!r";
Show( Hex( return ) );
SQL_query =
"\[SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91']\";
Show( Hex( SQL_query ) );
結果:
Hex(tab) = "09";
Hex(return) = "0D";
Hex(SQL_query) = "53454C45435420612C20622C20630D0946524F4D206D797461626C650D0957484552452061203D2027616C696365270D0909414E442062204245545745454E202738362720414E442027393127";