Выбрать максимальное значение из БД и вывести его?
В столбце тип varchar имеются числовые значения и слова, необходимо выбрать максимальное значение и вывести его, Проблема состоит в том что я не могу вытащить это число в полном виде выводится только 492733 а нужно вывести 492733,78 как в БД.
$query4 = "SELECT MAX(CAST(cost AS DOUBLE)) as cost FROM tovars WHERE cost ";
$result4 = mysqli_query($link, $query4) or die("Ошибка " . mysqli_error($link));
$MaxCostRoz = mysqli_fetch_assoc($result4);
$MaxRoznica=$MaxCostRoz["cost"];
print_r($MaxRoznica);
Пробовал по другому, вывод тот же
/$query4 = "SELECT MAX(CAST(SUBSTRING(cost, 1, length(cost) - 1) AS UNSIGNED)) as cost FROM tovars"
//$query4 = "SELECT CAST(cost AS DECIMAL(10,2)) as cost FROM tovars WHERE cost order by cost desc limit 0,2";
//$query4 = "SELECT MAX(CAST(cost AS DECIMAL(10))) as cost FROM tovars WHERE cost";
//$query4 = "SELECT MAX(CAST(cost AS UNSIGNED)) as cost FROM tovars WHERE cost";
Для правильного вопроса надо знать половину ответа
Кому должно? Если у вас вместо числа в базу записано его строковое представление, в котором вмести точки стоит запятая, ну так ССЗБ.
При попытке преобразования такой строки в число, как только будет встречена запятая, преобразование завершится.
vit_golova, Вывод и хранение - это разные сущности. Хранить надо в формате для хранения, например FIXED, выводить в формате для вывода, как требует заказчик.
Завтра от вас потребуют вывод в бухгалтерском формате, с красными отрицательными числами и знаком "равно" вместо нуля копеек и что, будете думать как красные числа в базу записать?
Это я понимаю, задачка такая хочу ее решить, есть прайс, в нем указаны товары, цены, и прочее, столбец цены заполнен числами и в некоторых строках написаны просто слова,импортировать в базу данных нужно было именно так, и один из пунктов такого задания выбрать из этого столбца максимальную стоимость и выделить цветом
vit_golova, Тогда пишите функцию универсального преобразования, которая будет сравнивать '315=', '25.3', '149,15' и '17 руб. 37 коп.'.
Весть этот парсинг должен быть до добавления в базу. Если уж так необходимо, то можно добавлять помимо значения его представление в оригинале отдельной колонкой.