1

我将如何执行以下操作:

code    code_base
en-DE   en
yue-mn  yue
en      en

在python中,我会这样做:

code_base = code.split('-')[0]

我将如何在 mysql 中以伪代码执行等效操作:

UPDATE table SET code_base=code.split('-')[0]
4

3 回答 3

3

您可以使用SUBSTRING_INDEX来执行拆分:

UPDATE table 
    SET code_base= SUBSTRING_INDEX(code, '-', 1)

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

于 2013-09-13T19:02:06.637 回答
2

在 MySQL 中没有办法“拆分”字符串。拆分通常返回一个数组,而 MySQL 没有。

你可以做的是,从0第一个到第一个获取子字符串-。签出SUBSTRING_INDEX

UPDATE table SET code_base=SUBSTRING_INDEX(code, '-', 1)
于 2013-09-13T19:03:05.593 回答
0

尝试这个:

UPDATE table SET code_base= LEFT(code, LOCATE('-', code)-1)
于 2013-09-13T19:03:20.530 回答