反引号和单引号有啥区别?我可以在上面的查询中使用 IF 语句吗?

Posted

技术标签:

【中文标题】反引号和单引号有啥区别?我可以在上面的查询中使用 IF 语句吗?【英文标题】:What are the differences between backtick and single quote? Can I use IF statement in a query as above?反引号和单引号有什么区别?我可以在上面的查询中使用 IF 语句吗? 【发布时间】:2011-01-08 12:38:05 【问题描述】:

在codeigniter manual中写下以下内容。

$this->db->select() 接受一个 可选的第二个参数。如果你设置 它为 FALSE,CodeIgniter 不会尝试 保护您的字段或表名 带反引号。这很有用,如果你 需要复合选择语句。

$this->db->select('(SELECT SUM(payments.amount) FROM payments 
WHERE payments.invoice_id=4) AS amount_paid', FALSE);
$query = $this->db->get('mytable');
...

我有来自one of CI applications的以下代码。

$this->db->select('slug, type, 
IF(`value` = "", `default`, `value`) as `value`', FALSE);

第一季度。反引号`和单引号'有什么区别?

第二季度。我可以在上面的查询中使用 IF 语句吗?

第三季度。这是什么意思?

IF(`value` = "", `default`, `value`) as `value`

【问题讨论】:

在您的问题 1 中,您是指反引号而不是反斜杠吗? 反引号`和单引号'。 哈,我以为我认出了这个查询:-p 是的,菲尔。我正在研究你的代码。你的新版本看起来很棒。我想向代码点火器大师学习。哈哈。:-) 【参考方案1】:

    mysql 中,反引号引用 names,而单引号创建 strings。如果你有一个名为select 的列,当使用这个没有反引号的名称时,MySQL 会抛出一个语法错误——就像在SELECT select FROM foo 中一样——因为它会将它解释为可能不会出现在那里的关键字。

    李>

    此 IF 函数 可用作 SELECT 语句中的列规范。请参阅MySQL reference。

    如果value 是空字符串,则此函数返回来自default 列的值。否则它会返回来自value 本身的值。结果将被称为value。详情请参阅MySQL reference。

【讨论】:

@David 谢谢。 MySQL 手册很难阅读(对我来说)。你能推荐一本好书吗? @shin:虽然我从来没有发现除了开发人员参考之外需要阅读更多内容,但我发现了这个问题:***.com/questions/1935813/…

以上是关于反引号和单引号有啥区别?我可以在上面的查询中使用 IF 语句吗?的主要内容,如果未能解决你的问题,请参考以下文章

关于js怎样替换反斜杠和单引号的问题

EXCEL中双引号和单引号中的数字有啥区别

雪花存储过程:处理多行字符串和单引号

【SQL语句】-MYSQL中关于引号的使用

何时在 MySQL 中使用单引号、双引号和反引号

单引号和双引号有啥区别?