sql query

DIMAD

Новичок
Добрый День

Есть таблица,в ней два поля:
1)Date (дата)
2)Field1 (имя тега | цена)

Нужно сделать сортировку по цене товара order by Field1. Проблема в том, что цена записывается в это поле после символа |
В поле Field1 информация хранится в таком виде:
price|125
price|135,8
price|140
Причем перед знаком | может быть любое слово:
test1|140
test222|110

Система так сделана и стоит задача сделать сортировку по цене.

Есть ли функция в mysql, которая позволяет убирать все перед символов | (включай сам символ) и делать сортировку по цене? ( order by ...function_replace(' *| ', ' ', Field1) )
P.S. Поле Field1 может быть пустым

Заранее благодарен
 

fixxxer

К.О.
Партнер клуба
Единственное правильное решение - выпороть розгами того, кто спроектировал такую таблицу.
 

zerkms

TDD infected
Команда форума
Предлагаю добавить в таблицу дополнительно поле для цены и триггером поддерживать актуальную цену в нём.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Предлагаю добавить в таблицу дополнительно поле для цены и триггером поддерживать актуальную цену в нём.
Не, нафиг костыли. Пусть лучше нормально переделает. Особенно удручает название поля: Field1. Ппц
 

zerkms

TDD infected
Команда форума
varan
Это если есть возможность нормально переделать. Есть шанс, что в таблицу пишет ПО, до которого у него нет доступа.
 
Сверху