研究员,
我正在使用PHP和此代码:
SELECT DATE_FORMAT(data,'%d/%m/%Y'' às ''%H:%i:%s') as data FROM infografico GROUP BY data
显示如下内容:
(última atualização: 22/09/2016' às '09:37:16)
问题是:'怎么不出现?
答案 0 :(得分:0)
SELECT DATE_FORMAT(data,'%d/%m/%Y'' às ''%H:%i:%s') as data FROM infografico GROUP BY data
^--start string
^^--escaped quote
^^--escaped quote
^---end of string
字符串分隔符由MySQL解析,然后''
被解析为'
以用于输出目的,因为它们不是字符串分隔符 - 它们被视为字面引用字符。如果你想要更多的引号,你需要这个丑陋的构造:
DATE_FORMAT(data, '''%d etc... ''')
e.g。
mysql> select '''foo''bar''';
+-----------+
| 'foo'bar' |
+-----------+
| 'foo'bar' |
+-----------+
1 row in set (0.00 sec)
答案 1 :(得分:0)
在开头和结尾只需要一个引号
SELECT DATE_FORMAT(数据,'%d /%m /%Yàs%H:%i:%s')
答案 2 :(得分:0)
来自String Literals(强调我的):
有几种方法可以在字符串中包含引号字符:
引用“
< / LI>'
”的字符串中的“'
”可写为“''
”。引用“
"
”的字符串中的“"
”可写为“""
”。通过转义字符(“
\
”)来引用引号字符。引用“
'
”的字符串中的“"
”无需特殊处理,无需加倍或转义。以同样的方式,字符串中的“"
” 引用“'
”不需要特殊处理。
但我怀疑你想使用其他语法:
彼此相邻的引号字符串连接成一个字符串 串。以下几行是等效的:
'a string' 'a' ' ' 'string'
为此,你缺少空格:
mysql> SELECT '%d/%m/%Y'' às ''%H:%i:%s' as quotes, '%d/%m/%Y' ' às ' '%H:%i:%s' as no_quotes;
+------------------------+----------------------+
| quotes | no_quotes |
+------------------------+----------------------+
| %d/%m/%Y' às '%H:%i:%s | %d/%m/%Y às %H:%i:%s |
+------------------------+----------------------+
1 row in set (0.00 sec)
当然,正如已经指出的那样,如果你不想要,你真的不需要手动插入引号。