我使用的是mysql。在一个字段中,我插入了像string 1 ::string 2这样的数据,两个字符串由::连接,现在我只想获取第二个字符串,有人能帮我吗,提前谢谢
发布于 2009-06-25 10:37:18
SELECT SUBSTRING_INDEX('string1::string2', '::', -1)
发布于 2009-06-25 10:35:49
你知道这是个糟糕的主意吗?关系数据库系统有列是有原因的。这样做是在对系统进行操作;这是一个众所周知的反模式。你真的应该试着对分隔值使用单独的列。
也就是说,您可以使用MySQL的字符串操作函数来检索值。
这是MySQL字符串函数的概述:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
在上面的页面上有一个注释,解释了如何使用它们。或者,您可以像explained in the other answers一样使用SUBSTRING_INDEX()。
发布于 2009-06-25 10:39:17
如前所述,这是一个糟糕的设计。您应该对多个日期使用多个列。除此之外,您可以使用通配符来查找值。例如,您正在查找09/08/2009::09/09/2009,
SELECT SUBSTRING('date',-10)
FROM myTable
WHERE id = 1;
它将返回日期的最后10个字符。再说一次,这并不是一个“好”的解决方案。一个好的解决方案是修复数据库本身。
https://stackoverflow.com/questions/1043162
复制相似问题