【问题标题】:MYSQL trim dynamically [closed]MYSQL动态修剪[关闭]
【发布时间】:2013-11-24 18:47:30
【问题描述】:

我在 MYSQL 数据库中有一个类似“123|34|65|35”的列值,如何通过选择查询从列值中删除最后一个“|35”?

示例: 这是我的表值
+--------------------+
价值观
+--------------------+
45|56|2|2015|22
+--------------------+
28|40|59|205|7
+--------------------+
44|38|29|15|257
+--------------------+

我想要一个应该给我以下输出的选择查询
+--------------------+
价值观
+--------------------+
45|56|2|2015
+--------------------+
28|40|59|205
+--------------------+
44|38|29|15
+--------------------+

任何想法!最后一个字符是动态字符。

【问题讨论】:

  • 我尝试根据尾随“|”修剪列值但不适合我!!
  • 看起来这些列是复杂域,这意味着该表不在1st normal form 中。你最好阅读数据库设计和normalization

标签: mysql trim


【解决方案1】:
SELECT SUBSTRING_INDEX(column, '|', 4) FROM table;

SQL Fiddle

用 | 的第 n 个实例替换那个数字每个字符串中的分隔符。

【讨论】:

  • 不会给出解决方案“|35”的动态不是恒定的。
  • @user3028959 IM so very sorry Im 不是通灵者。
  • 它的作品就像魅力!非常感谢...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 2015-01-28
相关资源
最近更新 更多