【问题标题】:MySql removing leading and trailing space in a selectMySql 在选择中删除前导和尾随空格
【发布时间】:2013-11-08 21:47:58
【问题描述】:

我是查询 mysql 数据库的新手。我要做的是删除每列的 select 语句输出上的前导和尾随空格。到目前为止,我看到的所有地方都说要使用修剪,但示例正在更新表,或者 select 语句位于字符串而不是实际表上。有没有办法在 select 语句的每一列中删除这些前导和尾随空格?

我基本上需要我的输出为 csv 格式,但我不能在查询中使用输出到文件选项(不同的服务器/权限问题)。我正在尝试使用 eval 语句对数据进行 sqoop 并正确格式化,因为我是从两个单独的表中提取的。有任何想法吗?

【问题讨论】:

    标签: mysql sqoop


    【解决方案1】:

    您正在 MySQL 中寻找TRIM 字符串函数

    例如

    SELECT TRIM(column1) AS column1, TRIM(column2) AS column2 ... FROM `table` WHERE ...
    

    【讨论】:

    • 我会像 Kanes 建议的那样做 - 标准 TRIM、LTRIM 和 RTRIM MySQL 函数的官方文档位于 dev.mysql.com/doc/refman/5.0/en/string-functions.html
    • 感谢您的回复。我尝试以这种方式设置它,但仍有尾随空间。我什至专门尝试过 RTRIM,但没有帮助。我的查询设置如下: Select TRIM(a.id) as id, TRIM(b.name) as name From tableA a, tableB b where a.value = b.value;不过,这仍然留下了额外的空间。
    【解决方案2】:

    最终使用常规的 select 语句并在使用 sed 和 tr -d 之后进行解析。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2020-08-20
      • 2018-10-04
      • 2011-10-15
      • 1970-01-01
      • 2019-07-03
      相关资源
      最近更新 更多