【问题标题】:How do I delete the first 3 characters in mysql?如何删除mysql中的前3个字符?
【发布时间】:2012-02-10 05:38:45
【问题描述】:

我该如何告诉 mysql ......

仅从 mytable.title 中删除前 3 个字符,其中前 3 个字符是数字 01-10 后跟一个空格?

例子..

删除“标题”列中如下所示的任何记录:

01 California
09 Texas
10 Idaho

保留不以数字和空格开头的记录(例如这些):

California
Texas
Idaho

我有几千条记录要从中删除这些前面的数字。想法?

【问题讨论】:

  • 标题为24 texas的行呢?
  • 当我们在做的时候:你尝试了什么?
  • 数字只有01-10。回答前请阅读说明。
  • 我本身没有回答,我问了一个问题以求澄清。你没有说这些数字不存在。不需要活泼。
  • 另外,在你的问题中,你写了delete the first 3 characters from mytable.title。后来,你写Delete any record in the 'title' column。是哪一个? 3个字符去吗?还是标题消失了(变成空的?)还是整条记录(即行)消失了?

标签: mysql


【解决方案1】:
UPDATE my_table SET title=SUBSTRING(title, 4) WHERE title REGEXP '^[0-9][0-9] ';

【讨论】:

  • 请注意,这将删除标题开头的数字,但不会删除这些行。再次阅读该问题后,这似乎不是您想要的。
  • 不是 SUBSTRING(title, 3) 吗?
  • 不。 SUBSTRING 的第二个参数是你想要开始的字符,MySQL 从 1 开始索引。
  • 哎呀...抱歉,没有看到您的答案。我的几乎和你的一样 D:
  • 你给了我我想要的东西,而且效果很好。抱歉,我在示例中偏离了基础。我现在看到它的措辞是错误的。非常感谢您的帮助!
猜你喜欢
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
相关资源
最近更新 更多