我用concat函数连接几个字符串时,要连接的字符串要用单引号''连接,但是有时我要连接的字符串本身就带有单引号'',这时该怎么办?比如:连接select * from text和where name='陈'这样一个查询语句时该怎么办?谢谢!
解决方案 »
- 如何从mysql结果集中得到每条记录的blob长度?
- 小弟初学求大神指教
- mysql问题,跪求高手解答
- 这里一组sql不知道如何优化
- 请教关于mysql直接拷贝的数据库导出的问题,提示1045,情况有点特殊
- 求助 mysql 数据同步
- 大家帮我看看mysql数据库备分与转换实现的思路对不对。
- Another quetion .Why my mysql server(On Linux) allways shutdown when i start it?
- mysql下怎么使用REPLACE...SELECT..,语法是什么啊?另外
- 如何恢复mysql的数据
- mysql中,如何获得刚插入一条记录的ID号,系统需要刚插入记录的Id做一些处理
- MySQL中使用like '[A-Z]arsen'查不出结果
SELECT @cmd;
SELECT @cmd;
Query OK, 0 rows affected (0.00 sec)mysql> SELECT @cmd;
+--------------------------------------+
| @cmd |
+--------------------------------------+
| SELECT * FROM `text` WHERE name='陈' |
+--------------------------------------+
1 row in set (0.00 sec)mysql> SET @cmd = CONCAT('SELECT * FROM `text` ','WHERE name=\'陈\'');
Query OK, 0 rows affected (0.00 sec)mysql> SELECT @cmd;
+--------------------------------------+
| @cmd |
+--------------------------------------+
| SELECT * FROM `text` WHERE name='陈' |
+--------------------------------------+
1 row in set (0.00 sec)
http://dev.mysql.com/doc/refman/5.1/zh/language-structure.html#string-syntax
9.1.1. 字符串
在字符串中,某些序列具有特殊含义。这些序列均用反斜线(‘\’)开始,即所谓的转义字符。MySQL识别下面的转义序列:\0
ASCII 0(NUL)字符。
\'
单引号(‘'’)。
\"
双引号(‘"’)。
下面的SELECT语句显示了引用和转义如何工作:[code=BatchFile]mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
+-------+---------+-----------+--------+--------+
| hello | 'hello' | ''hello'' | hel"lo | "hello |
+-------+---------+-----------+--------+--------+
[/code]