【问题标题】:Using SELECT CONCAT in MySQL returns the CONCAT command as well in Bash [duplicate]在 MySQL 中使用 SELECT CONCAT 也会在 Bash 中返回 CONCAT 命令 [重复]
【发布时间】:2019-07-08 08:22:06
【问题描述】:

这是 SQL 语句:

mysql -u user -p password -e  "SELECT concat(name,'-',number) from users 
where email='test@test.com'"

Expected output: john-1234

Actual output: concat(name,'-',number)
               john-1234

为什么会这样?

【问题讨论】:

  • 这是列名。试试... concat(name,'-',number) as XYZ ... 看看会发生什么。
  • 我在 bash 中使用这个命令,拆分输出是额外的工作。有没有办法只能返回结果?
  • @Cid 你是对的。得到了我需要的答案。谢谢!

标签: mysql sql bash


【解决方案1】:

MySQL 将返回列名。您可以给它一个更有用的别名,如下所示:

SELECT concat(name,'-',number) as username from users 
where email='test@test.com'

编辑:看起来@jarlh 在 cmets 中击败了我。

【讨论】:

    【解决方案2】:

    只需给你的列名取一个别名,否则它将 concat(name,'-',number) 作为列名

    "SELECT concat(name,'-',number) as output from users 
    where email='test@test.com'"
    

    【讨论】:

      【解决方案3】:

      这是列的名称。

      你可以用其他方式命名它:

      SELECT concat(name,'-',number) AS nameAndNumber from users where email='test@test.com'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-28
        • 1970-01-01
        • 1970-01-01
        • 2014-11-17
        • 2018-03-17
        • 1970-01-01
        • 2021-09-19
        相关资源
        最近更新 更多