【问题标题】:What does SQL Select symbol || mean?SQL 选择符号是什么 ||意思是?
【发布时间】:2014-06-15 20:33:33
【问题描述】:

|| 在 SQL 中做了什么?

SELECT 'a' || ',' || 'b' AS letter

【问题讨论】:

  • 你尝试执行了吗?
  • 它不会在您的示例中添加任何内容,但在其他情况下很有帮助,例如在... WHERE Name LIKE '%' || :searched || '%'...

标签: mysql sql oracle ansi-sql


【解决方案1】:

|| 表示字符串连接。不幸的是,字符串连接并不能在所有 sql 方言中完全移植:

  • ansi sql:||(中缀运算符)
  • mysql:concat(可变参数函数)。 注意|| 表示“逻辑或”(不过,It's configurable;感谢 @hvd 指出这一点)
  • oracle:||(中缀运算符),concat注意:仅限 arity 2 的函数!)
  • postgres:||(中缀运算符)
  • sql server:+(中缀运算符),concat(可变参数函数)
  • sqlite:||(中缀运算符)

希望混乱已经结束......

【讨论】:

【解决方案2】:

选择'a' || ',' || 'b' 作为字母 将结合一个字母。 结果变成'a,b'

【讨论】:

  • || 运算符连接字符串
【解决方案3】:

这是一个 concat 语句。它将连接两个字符串。

这是一个有用的帖子!

What is the difference between "||" operator and concat function in Oracle?

【讨论】:

    【解决方案4】:

    这是一个连接运算符。所以你会从中得到'a,b'。 我认为|| 将适用于大多数 RDBMS。 SQL Server 需要 + 运算符(感谢 HVD 让我明白了!)。

    【讨论】:

    • Microsoft SQL Server 是例外之一:它不支持||,需要+
    【解决方案5】:

    在 Oracle、SQLite3 和 MySQL 中,它连接字符串。请参阅Oracle documentationMySQL documentation

    此外,它是 ANSI SQL 的一部分,但 read this for more information

    【讨论】:

      【解决方案6】:

      【讨论】:

        猜你喜欢
        • 2018-08-30
        • 2011-04-07
        • 2014-05-11
        • 1970-01-01
        • 1970-01-01
        • 2022-12-22
        • 2010-09-29
        • 2011-04-18
        相关资源
        最近更新 更多