#mysql #sql
#mysql #sql
Вопрос:
У меня есть поле с именем, size
которое BIGINT
хранит количество байтов в файле. Чтобы получить файл, который больше, чем 1GB
я сейчас делаю:
size > (1024*1024*1024)
Но это выглядит немного запутанным. Есть ли другой способ написать это, который делает более понятным, что результатом 1024*1024*1024
является 1 ГБ?
Кроме того, встроен ли в mysql оператор экспоненты? Я использовал
select power(2, 30)
Но мне было интересно, существует ли краткая форма для выполнения этого непосредственно в запросе, например 2^30
.
Комментарии:
1. @ysth спасибо, вы знаете другие способы отображения показателей в mysql?
2. Сокращенная форма — Pow(). Это экономит целых два символа
Ответ №1:
^
является побитовым оператором xor.
Сработает либо POW(2,30)
, либо POWER(2,30)
(или POWER(1024,3)
); Я полагаю, что из двух POWER
более стандартное. Для возведения в степень нет типографского оператора.
Я бы просто оставил это как 1024*1024*1024
; для меня это обеспечивает наилучшую читаемость (и дает понять, что это 1 гигабайт, а не 1 ГБ).