Использование больших чисел в sql-запросе

#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 ГБ).