first, mathematical functions
ABS (x) returns the absolute value of X
BIN (x) returns the binary of X (Oct returns octal, HEX returns hex)
CEILING (x)Returns the smallest integer value greater than X
EXP (x) return value E (base of natural logarithm) x Times Square
Floor (x) returns the maximum integer value less than x
Greatest (x1,x2,..., xn) returns the largest value in the collection
LEAST (x1,x2,..., xn) Returns the smallest value in the collection
LN (x)Returns the natural logarithm of X
Log (x, y) returns the X-base logarithm
MOD (x, y) Returns the modulus (remainder) of x/y
Pi () returns the value of Pi (pi)
RAND () returns a random value from 0 to 1, which enables the rand () random number generator to generate a specified value by providing a parameter (seed).
ROUND (x, y) returns the rounding of parameter x with a value of y decimal place
sign (x) returns the value of the symbol representing the number X
SQRT (x) returns the square root of a number
TRUNCATE (x, y) Returns the result of a number x truncated to Y decimal places
Second, aggregation function (commonly used in the GROUP BY clause in the Select query)
Avg (COL) returns the average of the specified column
Count (COL) returns the number of non-null values in the specified column
Min (col) returns the minimum value of the specified column
Max (COL) returns the maximum value of the specified column
SUM (COL) returns the sum of all values of the specified column
Group_concat (COL) Returns the result of a combination of column value connections belonging to a group
three, String function
ASCII (char) returns the ASCII code value of a character
Bit_length (str) returns the bit length of a string
CONCAT (S1,S2...,SN) to concatenate s1,s2...,sn into a string
Concat_ws (SEP,S1,S2...,SN) joins the S1,S2...,SN into a string and uses the Sep character interval
Insert (STR,X,Y,INSTR) starts the string str from the x position, and the Y-character substring is replaced with a string instr, returning the result
Find_in_set (str,list) parses a comma-delimited list of lists, and if STR is found, returns the position of STR in the list
LCASE (str) or lower (str) Returns the result of changing all characters in the string str to lowercase
Left (str,x) returns the leftmost X character in a string str
LENGTH (s) returns the number of characters in the string str
LTRIM (str) cuts the opening space from the string str
POSITION (SUBSTR,STR) returns the position of the substring substr the first occurrence in the string str
QUOTE (str) escapes single quotation marks in Str with a backslash
REPEAT (STR,SRCHSTR,RPLCSTR) Returns the result of a string str repeating x times
REVERSE (str) Returns the result of reversing the string str
Right (STR,X) returns the rightmost X character in a string str
RTRIM (str) returns a space at the trailing end of a string str
STRCMP (S1,S2) comparing strings S1 and S2
TRIM (str) removes all whitespace from string header and trailing
UCASE (str) or upper (str) returns the result of converting all characters in the string str to uppercase
Iv. Date and time functions
Curdate () or current_date () returns the current date
Curtime () or Current_time () returns the current time
Date_add (date,interval int keyword) returns the date plus the result of the interval int (int must be formatted according to the keyword), such as: Selectdate_add (Current_date,interval 6 MONTH);
Date_format (DATE,FMT)Formats date values according to the specified FMT format
date_sub (date,interval int keyword) returns the date plus the result of the interval int (int must be formatted according to the keyword), such as: Selectdate_sub (Current_date,interval 6 MONTH);
DAYOFWEEK (date)Returns the day ordinal of the week represented by date (1~7)
DayOfMonth (date)Return date is the day of the one month (1~31)
DayOfYear (date)Return date is the day of the Year (1~366)
Dayname (date)Returns the day of the week name, such as: SELECT Dayname (current_date);
From_unixtime (TS,FMT)Formats the UNIX timestamp TS according to the specified FMT format
HOUR (Time)Returns the time-out value (0~23)
MINUTE (Time) Returns the minute value of time (0~59)
MONTH (date)Returns the month value of date (1~12)
MONTHNAME (date)Returns the month name of DATE, such as: SELECT MONTHNAME (current_date);
Now ()Returns the current date and time
QUARTER (date)Returns a DATE in the quarter of the year (1~4), such as Select QUARTER (current_date);
WEEK (date)The return date is the first week of the year (0~53)
Year (date)Returns the year of the date (1000~9999)
Some examples:
Get current system time: SELECT From_unixtime (Unix_timestamp ());
SELECT EXTRACT (Year_month from current_date);
SELECT EXTRACT (Day_second from current_date);
SELECT EXTRACT (Hour_minute from current_date);
Returns the difference (number of months) between two date values: SELECT Period_diff (200302,199802);
Calculate the age in MySQL:
SELECT Date_format (From_days (To_days (now ())-to_days (birthday)), '%Y ') +0 as-from employee;
Thus, if the brithday is a future month or so, the result is 0.
The following SQL statement calculates the absolute age of an employee, that is, when birthday is a future date, a negative value is obtained.
SELECT Date_format (now (), '%Y ')-date_format (Birthday, '%Y ')-(Date_format (now (), ' 00-%m-%d ') <date_format ( Birthday, ' 00-%m-%d ')) as age from employee
Five, encryption function
Aes_encrypt (Str,key)Returns the result of encrypting the string str with the key key using the Advanced Encryption Standard algorithm, the result of calling Aes_encrypt is a binary string, stored as a BLOB type
Aes_decrypt (Str,key)Returns the result of decrypting the string str with the key key using the Advanced Encryption Standard algorithm
DECODE (Str,key)Decrypting an encrypted string using key as a key str
ENCRYPT (Str,salt)Using the Unixcrypt () function, use the keyword salt (a string that uniquely determines the password, just like a key) to encrypt the string str
ENCODE (Str,key) Using key as the key to encrypt the string str, the result of calling encode () is a binary string, which is stored as a BLOB type
MD5 ()Computes the MD5 checksum of the string str
PASSWORD (str)Returns the encrypted version of the string str, the encryption process is irreversible, and the UNIX password encryption process uses a different algorithm.
SHA ()Computes the Secure Hash Algorithm (SHA) checksum of the string str
Example:
SELECT ENCRYPT (' root ', ' salt ');
SELECT ENCODE (' Xufeng ', ' key ');
SELECT DECODE (ENCODE (' Xufeng ', ' key '), ' key '); #加解密放在一起
SELECT aes_encrypt (' root ', ' key ');
SELECT Aes_decrypt (aes_encrypt (' root ', ' key '), ' key ');
SELECT MD5 (' 123456 ');
SELECT SHA (' 123456 ');
VI. Control Flow function
MySQL has 4 functions for conditional operation, which can implement the conditional logic of SQL, allowing the developer to transform some application business logic into the database background.
MySQL Control flow function:
Case When[test1] then [RESULT1] ... else [default] End If TESTN is true, returns RESULTN, otherwise returns the default
case [Test] when[val1) Then [result] ... ELSE [Default]endReturns RESULTN if test and valn are equal, otherwise returns the default
IF (TEST,T,F)Returns t if test is true, otherwise returns F
Ifnull (ARG1,ARG2) If arg1 is not empty, return arg1, otherwise return arg2
Nullif (ARG1,ARG2) If ARG1=ARG2 returns NULL, otherwise returns ARG1
The first of these functions is ifnull (), which has two parameters and is judged on the first parameter. If the first argument is not NULL, the function returns the first argument to the caller, and if it is null, the second argument is returned.
such as: SELECT Ifnull, Ifnull (null,10), ifnull (4*null, ' false ');
The Nullif () function verifies that the supplied two parameters are equal, returns null if they are equal, and returns the first argument if not equal.
such as: SELECT Nullif, Nullif (' A ', ' B '), Nullif (2+3,4+1);
Like the IF () function provided by many scripting languages, MySQL's if () function can also establish a simple conditional test, which has three parameters, the first is the expression to be judged, if the expression is true, if () will return the second argument, if False, if () will return the third argument.
such as: Selectif (1<10,2,3), if (56>100, ' true ', ' false ');
The IF () function is suitable for use only if there are only two possible outcomes. In the real world, however, we may find that multiple branches are needed in a conditional test. In this case, MySQL provides the cases function, which is the same as the PHP and Perl language switch-case conditional routines.
The format of the case function is somewhat complex and usually resembles the following:
case [expression to being evaluated]
When [Val 1] Then [result 1]
When [Val 2] then [result 2]
When [Val 3] Then [result 3]
......
When [Val-n] Then [result N]
ELSE [Default result]
END
Here, the first parameter is the value or expression to be judged, followed by a series of when-then blocks, the first parameter of each block specifies the value to compare, and if true, returns the result. All When-then blocks will end with the else block, and when end ends all external case blocks, if each of the preceding blocks does not match, the default result specified by the else block is returned. If you do not specify an else block and all when-then comparisons are not true, MySQL will return null.
The case function has another syntax, which is sometimes very convenient to use, as follows:
Case
When [conditional test 1] Then [result 1]
When [conditional test 2] Then [result 2]
ELSE [Default result]
END
In this condition, the result of the return depends on whether the appropriate condition test is true.
Example:
Mysql>select case ' green '
When the ' red ' then ' stop '
When the ' green ' then ' go ' END;
SELECT Case 9 If 1 then ' a ' is 2 Then ' B ' ELSE ' n/a ' END;
SELECT case When (=4) "OK" when (+/-) <>4 then ' not OK ' END asstatus;
SELECT name,if ((IsActive = 1), ' activated ', ' inactive ') as RESULT fromuserlogininfo;
SELECT Fname,lname, (math+sci+lit) as Total,
Case when (Math+sci+lit) < ' D '
When (Math+sci+lit) between and "C"
When (Math+sci+lit) between 151 and "B"
ELSE ' A ' END
As grade from Marks;
SELECT IF (ENCRYPT (' Sue ', ' ts ') =upass, ' Allow ', ' deny ') as Loginresultfrom users WHERE uname = ' Sue '; #一个登陆验证
vii. Formatting Functions
Date_format (DATE,FMT)Date value formatted as String FMT
FORMAT (x, y)Format x as a comma-separated sequence of numbers, and Y is the number of decimal digits of the result
Inet_aton (IP)Returns the number representation of an IP address
Inet_ntoa (num) Returns the IP address represented by the number
Time_format (TIME,FMT)Format time value According to the FMT of the string
The simplest of these is the format () function, which formats large numeric values into a readable sequence of comma intervals.
Example:
SELECT FORMAT (34234.34323432,3);
SELECT Date_format (now (), '%w,%d%M%Y%r ');
SELECT Date_format (now (), '%y-%m-%d ');
SELECT date_format (19990330, '%y-%m-%d ');
SELECT Date_format (now (), '%h:%i%p ');
SELECT Inet_aton (' 10.122.89.47 ');
SELECT Inet_ntoa (175790383);
viii. type conversion function
For data type conversions, MySQL provides the cast () function, which converts a value to the specified data type. Types are: binary,char,date,time,datetime,signed,unsigned
Example:
SELECT CAST (now () as signed INTEGER), Curdate () +0;
SELECT ' F ' =binary ' f ', ' F ' =cast (' F ' as BINARY);
Nine, System Information function
DATABASE ()Returns the current database name
BENCHMARK (count,expr)To run the expression expr repeatedly count times
CONNECTION_ID ()Returns the connection ID of the current customer
Found_rows ()Returns the total number of rows retrieved by the last select query
USER () or System_user ()Returns the current login user name
VERSION ()Back to MySQL server version
Example:
SELECT DATABASE (), VERSION (), USER ();
Selectbenchmark (9999999,log (rand () *pi ())), #该例中, MySQL calculates the LOG (rand () *pi ()) expression 9,999,999 times.
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
MySQL Common functions