Преобразование типов в запросе

  • Автор темы Автор темы Sluggard
  • Дата начала Дата начала

Sluggard

Новичок
Преобразование типов в запросе

Захожу на ПХПФорум, там текст перевернут верх нагами.
Зашел еще раз, стало все нормально.
Забыл свой пароль, Нажал ссылку "Забыл пароль", просит ввести мой e-mail.
Ввожу. Выводит "Вы не ввели неверный адрес электронной почты...".
Это что, приколы в честь сегодня?
Я уже боюсь задавать вопрос! :)))

Тем не менее.

Есть в БД поле типа VARCHAR (a).
Там хранятся текст вроде такого: "парарам120.45парарам", "тарарам400.24тарарам"
И поле типа FLOAT (b).

Мне нужно при выборке получать произведение a*b as с, где а приводится к типу FLOAT.
В моем случае это будут 120.45 и 400.24.
 
Неужели никак нельзя преобразовать VarChar в Float (Int, Decimal)???

-~{}~ 07.04.05 16:35:

знаю, есть Convert(int,<field>), но мне нужно сделать преобразование в запросеЖ поясню:

Есть таблица, в ней нокоторый столбец SUM типа VarChar.
Мне надо вывести это поле и отсортирвать как числа а не как строки. Тип поля менять не могу по умолчанию, но вывести и отсортеровать надо.

Вот что примерно надо:

SELECT <field> FROM table ORDER BY <field>
 
Тип поля менять не могу по умолчанию,
ты не стесняйся, здесь все свои.
так что, умалчивать не надо.
яви народу важные причины, которые не дают тебе пользоваться базой нормально
 
запросто:

Представь: есть БД, на которой работает сайт (внешняя часть). Есть Контент менеджер к сайту. Я же переписываю менеджера, но базу трогать не могу, так как сайт работает со старой структурой. То есть необходимо как-то извернуться, чтобы не менять типы данных в базе.
 
учитывая то что в mysql экстеншине нету привязки к типам данных базы, то сайт он того -- перетерпит
 
хмм, смущает: сайт довольно сложный, могут пойти ошибки. Прямая же конвертация не происходит между VarChar и Int, так что могут быть траблы, а посетителей около 3000 с сутки - стыдно!

-~{}~ 07.04.05 16:56:

ты уверен, что невозможно стелать сразу конвертацию?
 
то есть, во время запроса SELECT, в той же строке, нечто вроде

SELECT CONVERT(int,<field>) FROM table ORDER BY <field>

-~{}~ 07.04.05 17:11:

попробовал локальный вариант сервака с измененными типами даннх в базе - вроде работает стабильно, но все равно как-то не по себе !-/
 
можно конечно и в запросе, только нафига этому трупу припарки?

> попробовал локальный вариант сервака с измененными типами
> даннх в базе - вроде работает стабильно, но все равно как-то не
> по себе !-/
ну а ты проверь получше
 
если можно, так скажи, не тяни кота за <...>,
 
я откуда знаю, что у тебя там понаписано
я вообще понятия не имею, кому и зачем придет в голову хранить числа с плавающей точкой в текстовом поле
поэтому я тебе просто советую сделать по нормальному, но на всякий случай все проверить как следует
как ты и правильно сделал, проверять на копии
 
база сделана с ошибкой, это все понимают. Но временно на месяц надо сделать как написано выше. Если ты не знаешь, как сделать - спасибо и на этом.
 
Сверху