2009-09-11 3 views
0

Предположим, что у вас есть результат длиной 100 символов, но у вас есть только ширина 50 символов. Как вы разбиваете результат MYSQL на два ряда по 50 символов?Как разбить очень длинный набор результатов mysql на две строки?

Не могли бы вы немного разъяснить вопрос? Вы хотите вставить 100 символов данных в столбец 50 символов? Или у вас есть 100 символов в базе данных, но у вас есть только место в вашем приложении для отображения 50 символов?

У меня есть 100 символов в базе данных, но я хочу, чтобы строка набора результатов имела разрыв после 50-го символа и продолжалась на следующей строке.

Пример

SELECT * FROM FOO 

возвращается 1 2 3 4 5 6 7 8 9 ... 50 51 52 99 100 53..98

, но я хочу 1 2 3 4 5 6 7 8 9 ... 50 51 52 ... 99 100

Возможно ли это?

+0

Не могли бы вы немного разъяснить вопрос? Вы хотите вставить 100 символов данных в столбец 50 символов? Или у вас есть 100 символов в базе данных, но у вас есть только место в вашем приложении для отображения 50 символов? –

ответ

1
SELECT substring(col, 1, 50) FROM foo 
UNION ALL 
SELECT substring(col, 51) FROM foo 
0

Вы хотите вернуть набор результатов в PHP или MySQL? Если первое, то это проще.

Возьмите строку и возьмите первые 100 символов, положите разрывы строк, а затем остальную строку.

MySQL будет работать по тому же принципу, но у вас могут быть проблемы с символами прерывания строки.

+0

Я хочу, чтобы результат был установлен в MYSQL – eviljack

+0

Идея najmeddine может работать. Посмотрите на это. – 2009-09-11 13:51:21

1

Ваш вопрос о форматировании данных для просмотра. SQL - это декларативный язык поиска данных, а не язык данных довольно форматного. Вы должны решить эту проблему в своем коде, отличном от SQL.

Форматирование данных в SQL-запросе не является хорошей идеей, если только вы не должны писать что-то, что будет запускаться в анализаторе запросов. Ваш вопрос не является конкретным о том, действительно ли это так.