С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 0
Регистрация: 02.06.2014
Сообщений: 37

Вывод размера в разных единицах измерения в зависимости от значения

28.04.2023, 10:46. Показов 695. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Даже не знаю как сформулировать что бы не криво, соответственно поиском не нашел решения.
У меня в базе должен храниться список файлов, в одном из столбцов которого будет лежать длина в байтах.
Наверняка есть решение как элегантно (одним запросом, без всяких IF) выводить размер в байтах, килобайтах, мегабайтах, гигах, в зависимости от лежащего там числа: меньше 1000 - значит выводим байты, <1 000 000 - значит делим на 1000 и выводим кб и т.д.
Есть какая нибудь функция что бы обеспечить такое поведение?
К сожалению, скрипт скорее всего не подойдет, нужно как то исхитриться одним запросом это сделать...
Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2023, 10:46
Ответы с готовыми решениями:

Сравнить расстояния, заданные в разных единицах измерения
Написать код по заданию. Задание: известны два расстояния: одно в километрах, другое - в футах(1фут=0,45м).какое из расстояний меньше?

Сравнить две величины в разных единицах измерения
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); float m,km; ...

Определить, какая из двух заданных в разных единицах измерения скоростей больше
Задание: известны две скорости одна в километрах в час вторая в метрах за секунду какая из скоростей больше? помогите сделать на языке С

2
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
28.04.2023, 10:58
Лучший ответ Сообщение было отмечено imerlin как решение

Решение

Цитата Сообщение от imerlin Посмотреть сообщение
без всяких IF
а как собираешься оценивать тот самый размер. case, например, не всякий IF или всякий?
SQL
1
2
3
4
CASE WHEN размер<1024 THEN CAST(размер AS VARCHAR(4))+' байт'
     WHEN размер<1048576 THEN CAST(размер/1024 AS VARCHAR(4))+' Кбайт'
     WHEN размер<1073741824 THEN CAST(размер/10485764 AS VARCHAR(4))+' Мбайт'
     ELSE CAST(размер/1073741824 AS VARCHAR(8))+' Гбайт' END
1
5 / 5 / 0
Регистрация: 02.06.2014
Сообщений: 37
28.04.2023, 11:09  [ТС]
Во во во, CASE, наверное это именно то что нужно.
Я имел в виду, что мне нужно все запихать в один запрос. Сейчас пытался хранимую процедуру реализовать, но CASE, наверное, это то что мне нужно. Спасибо, сейчас попробую.

Добавлено через 2 минуты
Ага, то что нужно, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2023, 11:09
Помогаю со студенческими работами здесь

Вывод значения в зависимости от размера выборки
Здравствуйте. Не получается написать запрос типа &quot;если число записей больше 0, то 1, иначе 0&quot;. Например, есть таблица table1 и...

Как сделать вывод разных данных в зависимости от значения переменной
Здравствуйте. Вообщем у меня есть рабочий скрипт, который получает ответ от сервера и выводит всегда цену. А мне надо сделать что бы если...

Пользователь вводит два числа и указывает в каких они единицах измерения. Нужно сравнить эти два значения, предварительн
Пользователь вводит два числа и указывает в каких они единицах измерения. Нужно сравнить эти два значения, предварительно сведя их к...

Ошибка в единицах измерения
Значение имеет единицы измерения Unitless; а должно имеет единицы измерения плотность магнитного потока Не могу понять в чем я ошибся

Ошибка в единицах измерения
Добрый день. Прикрепляю файл. В конце файла есть расчёт и в нём выдаёт ошибку, мол операция невозможна так как происходит суммирование...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru