Читать интересную книгу MySQL 5.0. Библиотека программиста - Виктор Гольцман

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 22 23 24 25 26 27 28 29 30 ... 50

• CEIL(12345.6789) = 12346,

• CEIL(-12345.6789) = -12345.

• CRC32('Символьное значение').

Функция вычисляет контрольную сумму для последовательности символов с помощью алгоритма CRC32. Подробнее об алгоритмах CRC вы можете прочитать здесь: http://ru.wikipedia.org/wiki/CRC32. Например, CRC32('Beк живи – век учись') = 4171076480.

• EXP(x).

Экспонента. Возвращает ex (экспоненту числа x).

• FLOOR(x).

Функция округления в меньшую сторону. Возвращает наибольшее из целых чисел, не превосходящих x. Например,:

• FLOOR(12345.6789) = 12345,

• FLOOR(-12345.6789) = -12346.

• LN(x), LOG(x).

Возвращает Inx (натуральный логарифм числа x). Таким образом, LN(EXP(y)) = y.

• LOG10(x).

Возвращает log10x (логарифм числа x по основанию 10). Например, LOG10(100) = 2.

• LOG2(x).

Возвращает log2x (логарифм числа x по основанию 2). Например, LOG2(16) = 4.

• LOG(a,x).

Возвращает logax (логарифм числа x по основанию a). Например, LOG(2,16) = LOG2(16) = 4.

• MOD(a,b).

Синоним выражения a % b, возвращает остаток от целочисленного деления a на b.

• PI().

Возвращает число π = 3,14159….

• POW(x,y), POWER(x,y).

Функция возведения в степень. Возвращает xy.

Например, POW(2, 10) = 1024.

• RAND().

Возвращает случайное число в интервале от 0 до 1.

• RAND(x).

Возвращает псевдослучайное число в интервале от 0 до 1, при этом целое число x используется как начальное значение генератора псевдослучайных чисел. Возвращаемое значение при этом предопределено, например, RAND(2 0) всегда возвращает значение 0,1588826125104 7.

• ROUND(x).

Функция округления до целого. Возвращает целое число, ближайшее к x.

• ROUND(x, n).

Функция округления. Если n > 0, возвращает ближайшее к x число с n знаками после разделителя. Если n = 0, возвращает ближайшее к x целое число: ROUND(x,0) = ROUND(x). Если n < 0, возвращает ближайшее к x целое число, заканчивающееся на n нулей. Например,:

ROUND(12345.6789,2) = 12345.68,

ROUND(12345.6789,0) = 12346,

ROUND(12345.6789,-2) = 12300,

ROUND(-12345.6789,2) = -12345.68.

• SIGN(x).

Функция получения знака. Возвращает значение 1, если x > 0, значение 0, если х = 0, и значение – 1, если x < 0.

• SQRT(x).

Возвращает √x (квадратный корень из x).

• TRUNCATE(x, n).

Функция отбрасывания «лишних» цифр. Если n > 0, возвращается число, состоящее из целой части числа x и n его первых знаков после разделителя. Если n = 0, возвращается целая часть x. Если n < 0, возвращается число, в котором последние n цифр заменены нулями. Например,:

TRUNCATE(12345.6789,2) = 12345.67,

TRUNCATE(12345.6789,0) = 12345,

TRUNCATE(12345.6789,-2) = 12300,

TRUNCATE(-12345.6789,2) = -12345.67.

В следующем подразделе мы рассмотрим алгебраические функции.

Тригонометрические функции

Рассмотрим тригонометрические функции, которые вы можете использовать в выражениях.

• SIN(x).

Возвращает синус угла величиной в x радиан.

• COS(x).

Возвращает косинус угла величиной в x радиан.

• TAN(x).

Возвращает тангенс угла величиной в x радиан.

• COT(x).

Возвращает котангенс угла величиной в x радиан.

• ASIN(x).

Возвращает арксинус числа x, то есть величину угла (в радианах, от – π / 2 до π / 2), синус которой равен x.

• ACOS(x).

Возвращает арккосинус числа x, то есть величину угла (в радианах, от 0 до π), косинус которой равен x.

• ATAN(x).

Возвращает арктангенс числа x, то есть величину угла (в радианах, от – π / 2 до π / 2), синус которой равен x.

• ATAN2(x,y), ATAN(x,y).

Возвращает величину угла (в радианах, от – π до π) между векторами с координатами (1,0) и (x,y), иными словами, величину угла между осью абсцисс и прямой, соединяющей точки (0,0) и (x,y) на координатной плоскости. Совпадает с ATAN(y/x), если x > 0.

• DEGREES(x).

Возвращает градусную меру угла, радианная мера которого равна x радиан. Например, DEGREES(PI()) = 180.

• RADIANS(x).

Возвращает радианную меру угла, градусная мера которого равна x градусов. Например, RADIANS(18 0) = 3,1415926535898.

Итак, мы обсудили основные числовые функции. Далее мы кратко рассмотрим функции, оперирующие значениями даты и времени.

3.4. Функции даты и времени

В данном разделе мы рассмотрим некоторые полезные функции, выполняющие различные операции с датами: получение текущей даты и/или времени, получение отдельных компонентов даты и/или времени, арифметические операции с датами (сложение, вычитание) и преобразование форматов даты.

В первую очередь познакомимся с функциями, которые возвращают текущую дату и/или время.

Функции получения текущей даты и времени

Для получения текущей даты и времени вы можете использовать следующие функции.

• CURDATE(), CURRENT_DATE(), current_date.

Возвращают текущую дату.

• CURTIME(), CURRENT_TIME(), current_time.

Возвращают текущее время.

• NOW(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, LOCALTIME(), LOCALTIME, LOCALTIMESTAMP(), LOCALTIMESTAMP.

Возвращают текущую дату и время.

• SYSDATE().

Возвращает текущую дату и время Windows. В отличие от остальных функций, которые возвращают дату и/или время начала выполнения SQL-команды, функция SYSDATE() возвращает время своего вызова. Таким образом, если в одной SQL-команде функция SYSDATE() вызывается несколько раз, то возвращаемые ею значения могут быть различны.

• UTC_DATE(), UTC_DATE.

Возвращает текущую дату по UTC в формате «YYYY-MM-DD» (или, в зависимости от контекста, «YYYYMMDD»).

...

Примечание

UTC – универсальное скоординированное время, аналог гринвичского времени, основанный на атомном отсчете времени.

• UTC_TIME(), UTC_TIME.

Возвращает текущее время по UTC в формате «HH:MM:SS» (или, в зависимости от контекста, HHMMSS).

• UTC_TIMESTAMP(), UTC_TIMESTAMP.

Возвращает текущую дату и время по UTC в формате «YYYY-MM-DD HH:MM:SS» (или, в зависимости от контекста, «YYYYMMDDHHMMSS»).

Далее рассмотрим функции, позволяющие выделять какую-либо часть даты.

Функции получения компонентов даты и времени

Рассмотрим функции, получающие в качестве аргумента дату и/или время и возвращающие один из компонентов аргумента.

• DATE('<Дaтa и время>').

Функция DATE() получает в качестве аргумента дату или дату и время и возвращает дату, отсекая время. Например, DATE (2007-12-12 12:30:00) возвращает значение 2007-12-12.

• TIME('<Дaтa и время>').

Функция TIME() получает в качестве аргумента время либо дату и время и возвращает время, отсекая дату. Например, TIME (2007-12-12 12:30:00) возвращает значение 12:30:00.

• DAY ('<Дата или дата и время>'), DAYOFMONTH ('<Дата или дата и время>').

Функции DAY() и DAYOFMONTH() получают в качестве аргумента дату или дату и время и выделяют из нее число (номер дня в месяце). Например, DAY(2007-12–12) возвращает значение 12.

• DAYNAME('<Дата или дата и время>').

Функция DAYNAME() получает в качестве аргумента дату или дату и время и возвращает наименование дня недели, которым является эта дата. Например, DAYNAME(2007-12-12) возвращает значение Wednesday, поскольку 12 декабря 2007 г. – среда.

Если требуется получить название дня недели на русском языке, выполните команду

SET LC_TIME_NAMES='ru_RU

или

SET GLOBAL LC_TIME_NAMES='ru_RU

(о том, как действуют команды SET и SET GLOBAL, рассказывалось в подразделе «Вставка отдельных строк», когда речь шла об установке значения переменной sql_mode).

...

Примечание

Чтобы установить для отображения дат украинский или белорусский язык, присвойте переменной lc_time_names значение uk_UA или, соответственно, be_BY.

• DAYOFWEEK('<Дата или дата и время>').

Функция DAYOFWEEK() получает в качестве аргумента дату или дату и время и вычисляет порядковый номер дня недели, которым является эта дата (1 – воскресенье, 2 – понедельник и т. д.). Например, DAYOFWEEK(2007-12-12) возвращает значение 4, и это означает, что 12 декабря 2007 г. – среда.

• WEEKDAY('<Дата или дата и время>').

Функция WEEKDAY() получает в качестве аргумента дату или дату и время и вычисляет порядковый номер дня недели, которым является эта дата (0 – понедельник, 1 – вторник и т. д.). Например, DAYOFWEEK(2007-12-12) возвращает значение 2, и это означает, что 12 декабря 2007 г. – среда.

• DAYOFYEAR('<Дата или дата и время>').

Функция DAYOFYEAR() получает в качестве аргумента дату или дату и время и вычисляет для нее порядковый номер дня в году. Например, DAYOFYEAR(2007-12-12) возвращает значение 34 6.

• LAST_DAY('<Дата или дата и время>').

Функция LAST_DAY() получает в качестве аргумента дату или дату и время и возвращает дату, соответствующую последнему дню в месяце, которому принадлежит исходная дата. Например, LAST_DAY(2007-12-12) возвращает значение 2007-12-31, поскольку последнее число декабря – 31.

• WЕЕK ('<Дата или дата и время>' [,Правило нумерации]).

Функция WEEK() получает в качестве аргумента дату или дату и время и возвращает номер недели в году. По умолчанию неделя считается начинающейся с воскресенья, и первой неделей считается та неделя, воскресенье которой принадлежит данному году, а для дней, предшествующих первой неделе, номер недели равен 0. Например, WEEK(2007-12-31) = 52 и WEEK(2008-01-01) = 0.

1 ... 22 23 24 25 26 27 28 29 30 ... 50
На этом сайте Вы можете читать книги онлайн бесплатно русская версия MySQL 5.0. Библиотека программиста - Виктор Гольцман.

Оставить комментарий