Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > int + varchar без cast


Автор: 02077461 11.4.2007, 17:03
Работаю с Access БД через ODBC. При запросе 

Код

select cast([Поле численное ], int(11)), [Поле строковое] FROM [_3 Адреса фирм]


Вылетает

Цитата

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Неопределенная функция 'cast' в выражении., SQL state 37000 in SQLExecDirect


В итоге не могу сложить (concat тоже не определена) поля. 
Каким образом я могу сложить поля?

Автор: ТоляМБА 12.4.2007, 07:22
Так то написано что надо CONVERT использовать, но почему-то ругается на неопределенность функции, а вот так:
Код
SELECT CDbl([Table1]![a])+[b]
FROM Table1;

прокатило - поле a - текстовое, b - числовое.

ЗЫ. Проверял в самом Акцессе.

Автор: 02077461 12.4.2007, 13:10
Прошу прощение, за двусмысленность в вопросе. Я имел ввиду сложение строковое, конкатенацию.
Правильным ответом является использование функции http://www.csidata.com/custserv/onlinehelp/VBSdocs/vbs89.htm.
Спасибо. Я бы не нашел ее без твоей помощи.

Автор: 02077461 12.4.2007, 14:15
Все оказалось еще проще. Намного удобнее использовать оператор '&': 
Код

select 'asd'&11 from [I]table_name[/I]


Автор: SergeBS 12.4.2007, 15:17
02077461, 
Цитата
Работаю с Access БД через ODBC

Ох. MS Jet - родной движок Access-а. Или хочется извращаться?

Автор: 02077461 16.4.2007, 17:28
Работаю на PHP, оттого и приходится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)