字符函数的两个问题
mysql> select quote('abc''abc');+-------------------+
| quote('abc''abc') |
+-------------------+
| 'abc\'abc' |
+-------------------+
1 row in set (0.00 sec)
得到的结果为什么两端会有单引号?函数自己加上的有什么用吗?
mysql> select position('ab','xyzabopq');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''xyzabopq')' at line 1
为什么会报错?语句写的没有问题啊?!我的MySQL版本是5.0.45。
谢谢!
[ 本帖最后由 mysqlkumao 于 2008-2-8 15:31 编辑 ] :(
有人知道吗?! 第2个问题,应该是: select position('ab' in 'xyzabopq'); 第一个问题:这个函数的返回值一定会有两端的单引号 * QUOTE(str)
引证一个字符串,由此产生一个在SQL语句中可用作完全转义数据值的结果。返回的字符串由单引号标注,每例都带有单引号 (‘'’)、 反斜线符号 (‘\’)、 ASCII NUL以及前面有反斜线符号的Control-Z 。如果自变量的值为NULL, 则返回不带单引号的单词 “NULL”。
mysql> SELECT QUOTE('Don\'t!');
-> 'Don\'t!'
mysql> SELECT QUOTE(NULL);
-> NULL 谢谢两位!
页:
[1]