2013-03-05 2 views
0

Один столбец содержит запятую между данными, и я хочу показать эти разные данные в двух новых столбцах на мой вопрос. Примеры данных, колонка CarAndYear: [Volvo, 1995] Я хочу, чтобы «Volvo» отображался в колонке «Автомобили» и «1995» в колонке «Год». Я был бы очень благодарен за помощь в этой проблеме MySQL.Отдельные данные MySQL для двух новых столбцов

+0

Это всегда то же самое структура данных? – hank

+0

Следующий пост поможет вам в этом. Также есть несколько сотен подобных вопросов здесь, на SO. [http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/](http://blog.fedecarg.com/2009/02/22/mysql-split-string-function /) –

ответ

1

Предполагая, что вы всегда ведущие и замыкающие скобки:

SELECT TRIM(SUBSTR(CarAndYear, 2, INSTR(CarAndYear, ',') - 2)) Cars, 
     TRIM(SUBSTR(CarAndYear, INSTR(CarAndYear, ',') + 1, LENGTH(CarAndYear) - INSTR(CarAndYear, ',') -1)) `Year` 
FROM (SELECT '[Volvo, 1995]' CarAndYear) n 

Выходные

+-------+-------+ 
| Cars | Year | 
+-------+-------+ 
| Volvo | 1995 | 
+-------+-------+ 
+0

Спасибо, я очень благодарен! – Nyfiken

1
SELECT 
    SUBSTRING_INDEX(TRIM(LEADING '[' FROM `columnname`),',',1) as CARS, 
    SUBSTRING_INDEX(TRIM(TRAILING ']' FROM `columnname`),',',-1) as Year 
FROM `tablename`; 

SUBSTRING_INDEX in mysql

TRIM in mysql

+0

Спасибо, я очень благодарен! – Nyfiken

+0

становится более трудным для меня, чтобы выделить следующие данные на три колонки: VOLVO, 1995: 7 Автомобили Год Информация данных, разделенных между обоими запятой и двоеточия. Идеи? – Nyfiken

+0

3 столбца в порядке, для четырех и более столбцов, я советую вам сначала выбрать данные, а затем использовать другой язык, например python, perl для управления этими строками. @Nyfiken – StarPinkER

Смежные вопросы