MariaDB社区

标题: 字符函数的两个问题 [打印本页]

作者: mysqlkumao    时间: 2008-2-8 15:28
标题: 字符函数的两个问题
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 编辑 ]
作者: mysqlkumao    时间: 2008-2-11 15:57

有人知道吗?!
作者: edwin_chen    时间: 2008-2-13 11:02
第2个问题,应该是: select position('ab' in 'xyzabopq');
作者: edwin_chen    时间: 2008-2-13 11:12
第一个问题:这个函数的返回值一定会有两端的单引号
作者: kider    时间: 2008-2-13 11:56
* QUOTE(str)
引证一个字符串,由此产生一个在SQL语句中可用作完全转义数据值的结果。  返回的字符串由单引号标注,每例都带有单引号 (‘'’)、 反斜线符号 (‘\’)、 ASCII NUL以及前面有反斜线符号的Control-Z 。如果自变量的值为NULL, 则返回不带单引号的单词 “NULL”。

mysql> SELECT QUOTE('Don\'t!');

        -> 'Don\'t!'

mysql> SELECT QUOTE(NULL);

        -> NULL
作者: mysqlkumao    时间: 2008-2-13 17:49
谢谢两位!




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2