Как разделить действительно длинный набор результатов MySQL на две строки? - PullRequest
1 голос
/ 11 сентября 2009

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

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

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

Пример

SELECT * FROM FOO

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

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

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

Ответы [ 3 ]

1 голос
/ 11 сентября 2009
SELECT substring(col, 1, 50) FROM foo
UNION ALL
SELECT substring(col, 51) FROM foo
1 голос
/ 11 сентября 2009

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

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

0 голосов
/ 11 сентября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...