SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.02.2012 02:15:47

jastrin
Участник
Зарегистрирован: 27.02.2012
Сообщений: 1

Как разбить строку на столбцы?

Как разбить строку на столбцы с условием чтобы запрос был наименьшим?
Объясняю подробнее:

Запрос_1:

SELECT SUBSTRING(repeat('0,',5),1,length(repeat('0,',5))-1) as result

выдает следующее
http://s12.postimage.org/7lgchqxvd/Capture1.png

Запрос_2:
SELECT 0,0,0,0,0

выдает следующее
http://s15.postimage.org/fcijufvzd/Capture2.png

Теперь вопрос: Какой запрос надо написать чтобы получить резултат как в Запрос_2, но чтобы не писать эти нули вручную, а сгенерировать их во время выполнения?

Для чего мне это надо?
А вот, представьте что у вас есть некая таблица test которая содержит 1000 полей типа int
Надо вставить новую строку содержащую какие-то одинаковые значения, например 1000 нулей (в примерах выше я указал 5 нулей, для простоты). Про дефолтные значения знаю, не предлогать.
Сделать это я могу пока только 2-мя способами:
INSERT INTO test (col1,col2,col3,col4,col5......и так далее...col999,col1000) VALUES (0,0,0,0,0..и так далее...до 1000)

или,
INSERT INTO test 0,0,0,0,0..и так далее...до 1000

Чтобы не указывать эти 1000 нулей, как их сгенерировать?
Первое что мне пришло в голову:
INSERT INTO test SELECT SUBSTRING(repeat('0,',1000),1,length(repeat('0,',1000))-1)

но этот запрос не работает, поскольку вложенный SELECT выдает одну строку (смотрите скрин от Запрос_1, выше) и один столбец (только там 5 нулей)

Неактивен

 

#2 27.02.2012 04:23:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как разбить строку на столбцы?

сделайте запрос с помощью подготовленных выражений
http://sqlinfo.ru/forum/viewtopic.php?id=363

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson