庄QX

导航

 
 

mysql 单引号 双引号

 

今天在写一条sql语句的时候,用的双引号,sql语句执行错误。记的同事问我mysql语句中的单引号和双引号有区别吗?回答是没有区别。
今天特地查了查,还是有点区别的。

mysql中的一段说明:
在mysql中,使用单引号和双引号俩种表达方法是一样的,尽管使用单引号的表达方法符合ANSI-SQL/92标准。
如果在字符串里有引号,则要用以下的不同方式来表示:
"abc'abc" 即 abc'abc
"abc""abc" 即 abc“abc
"abc/'abc" 即 abc'abc
"abc/"abc" 即 abc"abc
'abc"abc' 即 abc"abc
'abc''abc' 即 abc'abc
'abc/"abc' 即 abc"abc
‘abc/'abc' 即 abc'abc

可以看出,尽量还是使用单引号。

当修改了mysql的sql模式的时候(set @@global.sql_mode)的时候,选择不同sql模式,可能会出现单引号和双引号的区别。ANSI-SQL标准。

 

下面是转载的mysql手册:

 

mysql中的一个字符串是一个字符序列,由单引号(“'”)或双引号(“"”)字符(后者只有你不在ANSI模式运行)包围。例如:

'a string'
"another string"

在字符串内,某个顺序有特殊的意义。这些顺序的每一个以一条反斜线(“/”)开始,称为转义字符MySQL识别下列转义字符:

/0
一个ASCII 0 (NUL)字符。
/n
一个新行符。
/t
一个定位符。
/r
一个回车符。
/b
一个退格符。
/'
一个单引号(“'”)符。
/"
一个双引号(“"”)符。
//
一个反斜线(“/”)符。
/%
一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。
/_
一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。

注意,如果你在某些正文环境中使用“/%”“/%_”,这些将返回字符串“/%”“/_”而不是“%”“_”

posted on 2013-10-18 13:28  庄QX  阅读(695)  评论(0)    收藏  举报