powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в конкатенации
8 сообщений из 8, страница 1 из 1
Ошибка в конкатенации
    #38630626
Timemanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста!

В табличку:
Код: sql
1.
2.
3.
TBL1 (
id int,
name varchar(50));



Вставляются данные выборкой из другой таблицы

Код: sql
1.
insert into tbl1 (name) select concat(name,' цифирка=',num) from tbl2;



Вторая табличка, откуда данные тащатся:
Код: sql
1.
2.
3.
TBL1 (
name varchar(50),
num int);



Если в таблице с данными поле второе число, то в первую таблицу данные вставляются не в кириллице, а в хрен знает какой кодировке и выводятся, соответственно также.

Обе таблицы с совершенно одинаковой кодировкой.

Если вставлять обычным способом
Код: sql
1.
insert into tbl1 (name) values ('абаракадабра 12345');

то, естественно все в кириллице.

Подскажите! Как либо число принудительно перевести в строку, либо чо еще. Что делать ума не приложу.

Спасибо!
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630629
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот это не поможет? FAQ: Проблемы с кодировкой в MySQL версий 4.1+
или еще что-нить похожее из FAQ...
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630643
Timemanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cygapb-007,

Дык в сеслекте из обеих таблиц выводит все верно. Если нет конкатенации строки с числом. Причем, если делаешь в инсерте
Код: sql
1.
insert into tbl1 (name) values (concat('вася',123));

то всё в норме. Если делать инсерт строки
Код: sql
1.
insert into tbl1 (name) select name from tbl2;

то тоже нормально.
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630663
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timemanager ,

а если через concat_ws('',name,' цифирка=',num) ?
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630695
Timemanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cygapb-007,

тоже самое...

Ничо не понимаю.
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630698
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimemanagerНичо не понимаю.аналогично.

сорь:)
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630703
Timemanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cygapb-007,

Спасибо за ответ :)
...
Рейтинг: 0 / 0
Ошибка в конкатенации
    #38630718
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уверен, но, похоже, проблема где-то в окрестностях этого:
http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat If the arguments include any binary strings, the result is a binary string. A numeric argument is converted to its equivalent string form. This is a nonbinary string as of MySQL 5.5.3. Before 5.5.3, it is a binary string; to to avoid that and produce a nonbinary string, you can use an explicit type cast, as in this example:

SELECT CONCAT(CAST(int_col AS CHAR), char_col);

В любом случае, лучше не надеяться на неявное преобразование типов.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в конкатенации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]