Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Sql запрос
цитата
30/06/08 в 09:49
 Sterx
как составить запрос:
с подсчетом количества символов в поле TEXT
и как отсортировать записи от большего количества символов в упомянутом поле к меньшему
+8
цитата
30/06/08 в 10:24
 dDan
SELECT CHARACTER_LENGTH(`text`) as `len` FROM ourtexttable ORDER by `len` DESC
цитата
30/06/08 в 10:26
 Heavy
примерно так icon_mrgreen.gif

select CHAR_LENGTH(my_text_field), other_fields...
from my table
order by 1 DESC


но к сожалению практика показала, что на больших объемах эта функция мускуля часто ошибается.... хотя может нам так не повезло icon_wink.gif
цитата
30/06/08 в 10:58
 Sterx
Heavy писал:
примерно так icon_mrgreen.gif

select CHAR_LENGTH(my_text_field), other_fields...
from my table
order by 1 DESC


но к сожалению практика показала, что на больших объемах эта функция мускуля часто ошибается.... хотя может нам так не повезло icon_wink.gif

ага, вроде работает, tnx
цитата
30/06/08 в 10:59
 dDan
Можно подумать мой вариант не работает icon_rolleyes.gif
цитата
30/06/08 в 11:06
 Sterx

icon_smile.gif
у Heavy синтаксис к моему запросу больше подошел
цитата
30/06/08 в 12:12
 Sha
Всё правильно.

В общем случае независимо от полей таблицы
SELECT CHAR_LENGTH(`field`) , `table`.* FROM `table` ORDER BY 1 DESC

Функция CHAR_LENGTH не ошибается (если текст с языком дружит чего там ошибаться-то?). Ошибается сортировка по полю типа TEXT на больших длинах.
цитата
30/06/08 в 12:23
 Heavy
Sha писал:

Функция CHAR_LENGTH не ошибается (если текст с языком дружит чего там ошибаться-то?).

угу, это я попутал - не с этой функцией проблема была, а с функциями копирования(подстрока и т.д) N байтов/симоволов - т.е. и с бинарной и с посимвольной. нужно было выдернуть 2К симоволов, а функция как рандом выдавала то больше, то меньше.

Sha писал:
Ошибается сортировка по полю типа TEXT на больших длинах.

насколько помню, был какой-то параметр конфигурации указывающий по скольким начальным символам мускулю делать сортировку таких полей, что-то около 2Кб по-умолчанию.


Эта страница в полной версии