Forum Webscript.Ru
Общие => Базы данных => Тема начата: RelaX от 18 Января 2007, 11:09:19
-
Здравствуйте!
Есть таблица words , в ней одна из колонок word , в которой находятся термины. Нужно получить список первых букв, чтобы построить линейку (А Б ... Э Ю Я) из тех букв, где слова начинаются с определенной буквы.
Никак не получается с помощью запроса получить первую букву от слова.
select word from words group by 1 - это только слова, с отрезать букву не получается
-
СУБД какая?
-
Mysql
-
А посмотреть ман на предмет функций для работы со строками?
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
-
Нечего заниматься этим. Просто выведи все буквы алфавита, есть ли термины на все буквы или нет.
Я бы не стал загружать БД ради этого... хотя...
Учебник SQL говорит, что выражение select может содержать кучу функций:
CONCAT() Объединение строк.
INTERVAL(A,a,b,c,d) Возвращает 1, если A == a, 2, если A == b... Если совпадений нет, вернет 0. A,a,b,c,d... строки.
INSERT(org,strt,len,new) Заменяет подстроку org[strt...len(gth)] на new. Первая позиция строки=1.
LCASE(A) Приводит A к нижнему регистру.
LEFT() Возвращает строку символов, отсчитывая слева.
LENGTH() Длина строки.
LOCATE(A,B) Позиция подстроки B в строке A.
LOCATE(A,B,C) Позиция подстроки B в строке A, начиная с позиции C.
LTRIM(str) Удаляет все начальные пробелы из строки str.
REPLACE(A,B,C) Заменяет все подстроки B в строке A на подстроку C.
RIGHT() Get string counting from right.
RTRIM(str) Удаляет хвостовые пробелы из строки str.
STRCMP() Возвращает 0, если строки одинаковые.
SUBSTRING(A,B,C) Возвращает подстроку из A, с позиции B до позиции C.
UCASE(A) Переводит A в верхний регистр.
Следовательно возможен запрос
SELECT SUBSTRING(word,0,1) FROM table
-
andymc:
Следовательно возможен запрос SELECT SUBSTRING(word,0,1) FROM table
Уточню и поправлю
SELECT
DISTINCT SUBSTRING( word, 1, 1 ) AS letter
FROM
words
ORDER BY
letter
Где-то была такая тема, к сожалению не смог найти...