Официальный сайт студ.городка НГТУ
Программирование и БД » [MySQL] как правильно сделать select? 

#1  04.06.09 19:39

[MySQL] как правильно сделать select?

требуется сделать селект из базы по 2-ум полям. вида
`id`+" фамилия:"+`fio`;

т.е. как правильно провести конкатенцию.

select `id`[тут символ конкатенации ]" фамилия:" [тут символ конкатенации ]`fio`from db where 1;

собственно сабж...

Offline

#2  05.06.09 02:10

Re: [MySQL] как правильно сделать select?

Если нужен символ конкатенации, то что-то типа такого:

Код: sql:

SET @str = BINARY ' фамилия: ';
SELECT 
CONCAT_WS(
separator,
CAST(`id` AS CHAR),
CONVERT(@str USING utf8),
`fio`
) AS concatfield
FROM TABLE
WHERE 1

Исправлено Jaguar (05.06.09 02:11)

Offline

#3  08.06.09 23:41

Re: [MySQL] как правильно сделать select?

Э... может я чего-то не осилил, но почему вышеописаный пример не сократить до

Код::

SELECT CONCAT('id', ' фамилия: ', 'fio') FROM 'db' WHERE 1

Offline

#4  09.06.09 15:38

Re: [MySQL] как правильно сделать select?

efferson,
1. это у тебя там апострофы? а зачем строка "id фамилия: fio"? поля выделяются в обратные апострофы
2. приведение типа - избежание проблем
3. кодировка может быть разная... поэтому текст "фамилия" приводится с указанием кодировки
4. в задании между строками еще должен вставлять символ конкатенации, поэтому простого CONCAT мало...

Исправлено Jaguar (09.06.09 15:39)

Offline

#5  09.06.09 22:02

Re: [MySQL] как правильно сделать select?

Да я не спорю, что у тебя правильно - просто хотел как проще :)

Offline

Программирование и БД » [MySQL] как правильно сделать select? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.300 сек.
Выполнено 14 запросов.