【问题标题】:MySQL Select Query - Get only first 10 characters of a valueMySQL Select Query - 仅获取值的前 10 个字符
【发布时间】:2013-02-04 05:35:54
【问题描述】:

好的,问题来了。

我有一个包含一些列的表格,“主题”是其中一列。 无论“主题”字段包含 100 个字母的字符串,我都需要从“主题”字段中获取前 10 个字母。

例如,

表格 - tbl。 列 - idsubjectvalue

SQL 查询:

SELECT subject FROM tbl WHERE id ='$id';

我得到的结果是,例如

你好,这是我的主题,你好吗

我只需要前 10 个字符

你好,你好

我可以理解我可以使用 php substr() 删除其余字符,但在我的情况下这是不可能的。我需要让 MySQL 删除多余的字符。如何做到这一点?

【问题讨论】:

    标签: mysql sql select


    【解决方案1】:

    使用下面的行

    SELECT LEFT(subject , 10) FROM tbl 
    

    MySQL Doc.

    【讨论】:

      【解决方案2】:
      SELECT SUBSTRING(subject, 1, 10) FROM tbl
      

      【讨论】:

      • 我觉得这是更完整的答案,因为LEFT 可能无法解决处理需要从中间字符串开始的提取的细节(是的,就像 OP 提出的那样)。
      【解决方案3】:

      如果您需要更进一步,请查看LeftSubstring

      Google 和 MySQL 文档是一个很好的起点 - 如果您在提出问题之前甚至没有尝试过帮助自己,通常不会得到如此热烈的回应。

      【讨论】:

      • 一个样本会更有帮助。
      • @RoccoTheTaco 我完全不同意——你的反对票也很严厉。阅读http://stackoverflow.com/questions/how-to-ask,第一点是Have you thoroughly searched for an answer before asking your question?。这个问题很容易通过简单快速的谷歌搜索得到回答。我不只是想给 OP 我想告诉他们如何找到答案的答案 - 在我看来更有用
      • 我明白@Steve 在说什么(有道理),但我是从 Google 来到这里的。是的,最初的问题很懒惰,但我不必去其他地方这一事实帮助了我。 SO 正在为这些简单问题建立一个答案库,这也很好。也等于为 SO 提供更多的广告费用。
      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      相关资源
      最近更新 更多