MySQL concatに複数の単引用符を使用して、三引用符の問題
文字列を動的につづり合わせる時、私達はよく文字を使ってつづり合わせます。
1、'''+id+''はなぜ3つの引用符なのですか?どうして左のプラス記号の右のプラス記号ですか?
SQLコード
sum(case Leave when'+id+''then DaysNo else 0 end)'+name+''
通常の語句:
SQLコード
SUM(CASE Leave WHEN'01'THEN DaysNo END)AS[私事休暇]
SUM(CASE Leave WHEN'02'THEN DaysNo END)AS[病気休暇]
簡単な答え:
簡単に言うと、一般的に単引用符はスペルステートメント用で、3つの引用符のスペルは文字列変数値です。
引用符には特別な意味がありますので、2回書いて、意味を変えます。
2、文字列の引用符と二重引用符には違いがありますか?
簡単に言えば、普通に使うならシングルクォーテーションマークです。シングルクォーテーションマークにはシングルクォーテーションマークも使われます。単引用符を追加して3つの単引用符にします。
標準SQLでは、文字列はシングルクォーテーションマークを使用しています。
文字列自体に単引用符が含まれている場合は、2つの単引用符を使用します。
MySQLのSQLに対する拡張は、シングルクォーテーションマークとダブルクォーテーションマークの2つを使用することができます。
簡単なまとめ:
concatで文字列をつづる場合、文の中にシングル引用符が必要であれば、引用符の代わりに二つのシングル引用符を使うことができます。
以下の通りです
以上のMySQL concatでは複数のシングル引用符を使用していますが、3つの引用符の問題は小編集が皆さんのすべての内容を共有していますので、参考にしていただければと思います。どうぞよろしくお願いします。
1、'''+id+''はなぜ3つの引用符なのですか?どうして左のプラス記号の右のプラス記号ですか?
SQLコード
sum(case Leave when'+id+''then DaysNo else 0 end)'+name+''
通常の語句:
SQLコード
SUM(CASE Leave WHEN'01'THEN DaysNo END)AS[私事休暇]
SUM(CASE Leave WHEN'02'THEN DaysNo END)AS[病気休暇]
簡単な答え:
簡単に言うと、一般的に単引用符はスペルステートメント用で、3つの引用符のスペルは文字列変数値です。
引用符には特別な意味がありますので、2回書いて、意味を変えます。
2、文字列の引用符と二重引用符には違いがありますか?
簡単に言えば、普通に使うならシングルクォーテーションマークです。シングルクォーテーションマークにはシングルクォーテーションマークも使われます。単引用符を追加して3つの単引用符にします。
標準SQLでは、文字列はシングルクォーテーションマークを使用しています。
文字列自体に単引用符が含まれている場合は、2つの単引用符を使用します。
MySQLのSQLに対する拡張は、シングルクォーテーションマークとダブルクォーテーションマークの2つを使用することができます。
簡単なまとめ:
concatで文字列をつづる場合、文の中にシングル引用符が必要であれば、引用符の代わりに二つのシングル引用符を使うことができます。
mysql> select concat('drop user ''''@', '''', @@hostname, '''');
+----------------------------------------------------+
| concat('drop user ''''@', '''', @@hostname, '''') |
+----------------------------------------------------+
| drop user ''@'bei-f0q5bc2.gemalto.com' |
+----------------------------------------------------+
1 row in set (0.00 sec)
補足開拓:mysql挿入文字列帯単引用符+ダブル引用符以下の通りです
String needInsertStr= ;
String finalStr = needInsertStr.replaceAll("'", "\\\\\'"); // \
//
long dateMillions = System.currentTimeMillis();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("insert into ");
stringBuilder.append(tableName);
stringBuilder.append("(uuid,name,metric_id,service_id,script,deleted,created,updated) ");
stringBuilder.append("values(uuid(),'");
stringBuilder.append(name);
stringBuilder.append("','");
stringBuilder.append(name);
stringBuilder.append("','");
stringBuilder.append(serviceId);
stringBuilder.append("','");
stringBuilder.append(finalStr);
stringBuilder.append("',0,");
stringBuilder.append(dateMillions);
stringBuilder.append(",");
stringBuilder.append(dateMillions);
stringBuilder.append(")");
return stringBuilder.toString();
// script
insert into table(string)values('「これはテスト文です」+\'テスト用シングルペア引用符\''')以上のMySQL concatでは複数のシングル引用符を使用していますが、3つの引用符の問題は小編集が皆さんのすべての内容を共有していますので、参考にしていただければと思います。どうぞよろしくお願いします。