English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL 함수

MySQL 有很多内置的函数,以下列出了这些函数的说明。

MySQL 字符串函数

函数설명예제
ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。

返回 CustomerName 字段第一个字母的 ASCII 码:

SELECT ASCII(CustomerName) AS NumCodeOfFirstChar
FROM Customers;
CHAR_LENGTH(s)返回字符串 s 的字符数

문자열 w3codebox 的字符数

SELECT CHAR_LENGTH("w3codebox") AS LengthOfString;
CHARACTER_LENGTH(s)返回字符串 s 的字符数

문자열 w3codebox 的字符数

SELECT CHARACTER_LENGTH("w3codebox") AS LengthOfString;
CONCAT(s1,s2...sn)문자열 s1,s2 等多个字符串合并为一个字符串

合并多个字符串

SELECT CONCAT("SQL ", "w3codebox ", "Gooogle ", "Facebook") AS ConcatenatedString;
CONCAT_WS(x, s1,s2...sn)相同 CONCAT(s1,s2函数,但是每个字符串之间要加上 x,x 可以是分隔符

여러 문자열을 결합하고 구분자를 추가합니다:

SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!") AS ConcatenatedString;
FIELD(s,s1,s2...)문자열 목록(s1,s2...)에 위치한

문자열 c가 목록 값에 위치한 위치를 반환합니다:

SELECT FIELD("c", "a", "b", "c", "d", "e");
FIND_IN_SET(s1,s2)문자열 s에 위치한2와 함께1일치하는 문자열의 위치

문자열 c가 지정된 문자열에 위치한 위치를 반환합니다:

SELECT FIND_IN_SET("c", "a,b,c,d,e");
FORMAT(x,n)함수는 숫자 x를 "#,###.##"으로 포맷할 수 있으며, x를 소수점 이하 n자리까지 유지하고 마지막 자리는 반올림합니다.

숫자를 "#,###.##" 형식으로 포맷합니다:

SELECT FORMAT(250500.5634, 2);     -- 출력 250,500.56
INSERT(s1,x,len,s2)문자열 s2 s를 대체합니다1 x 위치에서 길이가 len인 문자열

문자열의 첫 번째 위치에서 시작하는 6 문자를 w로 대체합니다3codebox:

SELECT INSERT("google.com", 1, 6, "w3codebox");  -- 출력: oldtoolbag.com
LOCATE(s1,s)IN s)1 문자열 s에서 s를 가져옵니다

b가 문자열 abc에 위치한 위치를 가져옵니다:

SELECT LOCATE('st','myteststring');  -- 5

의 시작 위치

SELECT LOCATE('b', 'abc') -- 2
LCASE(s)문자열 s의 모든 문자를 소문자로 변환합니다

문자열 w3codebox을 소문자로 변환합니다:

SELECT LCASE('w3codebox') -- w3codebox
LEFT(s,n)문자열 s의 앞 n개 문자를 반환합니다

문자열 w3codebox의 앞 두 문자:

SELECT LEFT('w3codebox',2) -- ru
LOWER(s)문자열 s의 모든 문자를 소문자로 변환합니다

문자열 w3codebox을 소문자로 변환합니다:

SELECT LOWER('w3codebox') -- w3codebox
LPAD(s1,len,s2)문자열 s1 의 시작 부분에 문자열 s를 채웁니다2문자열 길이를 len로 만듭니다

문자열 xx를 abc 문자열의 시작 부분에 채웁니다:

SELECT LPAD('abc',5,'xx') -- xxabc
LTRIM(s)문자열 s 시작处的 공백을 제거합니다

문자열 w3codebox 시작处的 공백:

SELECT LTRIM("        w3codebox") AS LeftTrimmedString;-- w3codebox
codebox") AS LeftTrimmedString;MID(s,n,len)

문자열 w3codebox의 2 개 위치에서 자르기 3개 문자:

문자열 s의 n 위치에서 길이가 len인 부분 문자열을 잘라냅니다,SUBSTRING(s,n,len)과 같습니다3codebox", 2, 3) AS ExtractString; -- UNO
SELECT MID("w1 POSITION(sIN s)1 문자열 s에서 s를 가져옵니다

의 시작 위치

문자열 abc에서 b의 위치를 반환 -- 2
SELECT POSITION('b' in 'abc')REPEAT(s,n)

문자열 w3문자열 s를 n번 반복

codebox 3번 반복:3codebox',3) -- w3SELECT REPEAT('w3SELECT REPEAT('w3codebox
codeboxw1,s2)REPLACE(s,s2 문자열 s에서 문자열 s를 대체합니다1

문자열 abc의 문자 a를 문자 x로 대체합니다:

SELECT REPLACE('abc','a','x') --xbc
REVERSE(s)문자열 s의 순서를 뒤집습니다

문자열 abc의 순서를 뒤집습니다:

SELECT REVERSE('abc') -- cba
RIGHT(s,n)문자열 s의 마지막 n 개의 문자를 반환

문자열 w3codebox의 마지막 두 문자:

SELECT RIGHT('w3codebox',2) -- ob
RPAD(s1,len,s2)문자열 s1 문자열 s의 끝에 문자열 s2,문자열의 길이를 len에 도달하도록

문자열 xx를 abc 문자열의 끝에 채우기 위해:

SELECT RPAD('abc',5,'xx') -- abcxx
RTRIM(s)문자열 s의 마지막 공백을 제거합니다

문자열 w3codebox의 마지막 공백:

SELECT RTRIM("w3codebox     ") AS RightTrimmedString;   -- w3codebox
SPACE(n)n 개의 공백을 반환

반환합니다 10 공백 개수:

SELECT SPACE(10);
STRCMP(s1,s2)비교 문자열 s1 和 s2,만약 s1 与 s2 相等返回 0 ,如果 s1>s2 반환합니다 1,만약 s1<s2 반환합니다 -1

문자열 비교:

SELECT STRCMP("w3codebox", "w3codebox");  -- 0
SUBSTR(s, start, length)문자열 s의 start 위치에서 길이가 length인 부분 문자열을 잘라냅니다

문자열 w3codebox의 2 개 위치에서 자르기 3개 문자:

SELECT SUBSTR("w3codebox", 2, 3) AS ExtractString; -- UNO
SUBSTRING(s, start, length)문자열 s의 start 위치에서 길이가 length인 부분 문자열을 잘라냅니다

문자열 w3codebox의 2 개 위치에서 자르기 3개 문자:

SELECT SUBSTRING("w3codebox", 2, 3) AS ExtractString; -- UNO
SUBSTRING_INDEX(s, delimiter, number)문자열 s의 number번째 나타남의 구분자 delimiter이후의 부분 문자열을 반환합니다
number가 양수인 경우, number번째 문자 왼쪽의 문자를 반환합니다
number가 음수인 경우, number의 절대값(오른쪽에서 세어)으로부터의 문자를 반환합니다
SELECT SUBSTRING_INDEX('a*b','*,1) -- a
SELECT SUBSTRING_INDEX('a*b','*,-1)    -- b
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*,3),'*,-1)    -- c
TRIM(s)문자열 s의 시작과 끝 공백을 제거합니다

문자열 w3codebox의 시작과 끝 공백:

SELECT TRIM('    w3codebox    ') AS TrimmedString;
UCASE(s)문자열을 대문자로 변환합니다

문자열 w3codebox을 대문자로 변환합니다:

SELECT UCASE("w3codebox"); -- w3codebox
UPPER(s)문자열을 대문자로 변환합니다

문자열 w3codebox을 대문자로 변환합니다:

SELECT UPPER("w3codebox"); -- w3codebox

MySQL 숫자 함수

함수 이름설명예제
ABS(x)x의 절대값을 반환합니다  

반환합니다 -1 의 절대값:

SELECT ABS(-1) -- 반환합니다1
ACOS(x)x의 반좌표값을 구하다(인자는 라디안)
SELECT ACOS(0.25);
ASIN(x)좌표값을 구하다(인자는 라디안)
SELECT ASIN(0.25);
ATAN(x)좌표값을 구하다(인자는 라디안)
SELECT ATAN(2.5);
ATAN2(n, m)좌표값을 구하다(인자는 라디안)
SELECT ATAN2(-0.8, 2);
AVG(expression)하나의 표현식의 평균 값을 반환합니다, expression은 필드입니다

Products 테이블의 Price 필드의 평균 값을 반환합니다:

SELECT AVG(Price) AS AveragePrice FROM Products;
CEIL(x)x보다 크거나 같은 가장 작은 정수를 반환합니다 
SELECT CEIL(1.5) -- 반환합니다2
CEILING(x) x보다 크거나 같은 가장 작은 정수를 반환합니다 
SELECT CEILING(1.5); -- 반환합니다2
COS(x)좌표값을 구하다(인자는 라디안)
SELECT COS(2);
COT(x)빗대값(파라미터는 라디안입니다)
SELECT COT(6);
COUNT(expression)조회된 기록 총 수를 반환합니다. expression 매개변수는 필드 또는 * 호

Products 테이블에서 products 필드의 총 행 수를 반환합니다:

SELECT COUNT(ProductID) AS NumberOfProducts FROM Products;
DEGREES(x)라디안을 각도로 변환합니다  
SELECT DEGREES(3.1415926535898) -- 180
n DIV m정수로 나누기에서 n이 분자이고 m이 분모입니다

계산 10 나누어 5:

SELECT 10 DIV 5;  -- 2
EXP(x)e의 x 차를 반환합니다  

e의 세 번째 배를 계산합니다:

SELECT EXP(3) -- 20.085536923188
FLOOR(x)x보다 작거나 같은 최대 정수를 반환합니다  

보다 작거나 같은 1.5 의 정수:

SELECT FLOOR(1.5) -- 반환합니다1
GREATEST(expr1, expr2, expr3, ...)목록의 최대 값을 반환합니다

다음 숫자 목록 중 최대 값을 반환합니다:

SELECT GREATEST(3, 12, 34, 8, 25); -- 34

다음 문자열 목록 중 최대 값을 반환합니다:

SELECT GREATEST("Google", "w3codebox", "Apple");   -- w3codebox
LEAST(expr1, expr2, expr3, ...)목록의 최소 값을 반환합니다

다음 숫자 목록 중 최소 값을 반환합니다:

SELECT LEAST(3, 12, 34, 8, 25); -- 3

다음 문자열 목록 중 최소 값을 반환합니다:

SELECT LEAST("Google", "w3codebox", "Apple");   -- Apple
LN숫자의 자연 대수를 반환합니다. 기본적으로 e를 기준으로 합니다。

반환합니다 2 의 자연 대수:

SELECT LN(2);  -- 0.6931471805599453
LOG(x) 또는 LOG(base, x)자연 대수(기본적으로 e를 기준으로 한 대수),base 매개변수가 제공되면 base가 지정된 기본수로 변환됩니다。  
SELECT LOG(20.085536923188) -- 3
SELECT LOG(2, 4); -- 2
LOG10(x)반환합니다 10 기준으로의 로그  
SELECT LOG10(100) -- 2
LOG2(x)반환합니다 2 기준으로의 로그

반환합니다 2 기준으로 6 의 로그:

SELECT LOG2(6);  -- 2.584962500721156
MAX(expression)필드 expression에서 최대 값을 반환합니다

Products 데이터 테이블에서 Price 필드의 최대 값을 반환합니다:

SELECT MAX(Price) AS LargestPrice FROM Products;
MIN(expression)필드 expression에서 최소 값을 반환합니다

Products 데이터 테이블에서 Price 필드의 최소 값을 반환합니다:

SELECT MIN(Price) AS MinPrice FROM Products;
MOD(x,y)x를 y로 나눈 나머지를 반환합니다 

5 나누어 2 의 나머지:

SELECT MOD(5,2) -- 1
PI()원주율을 반환합니다3.141593)  
SELECT PI() --3.141593
POW(x,y)x의 y제곱을 반환합니다 

2 의 3 제곱:

SELECT POW(2,3) -- 8
POWER(x,y)x의 y제곱을 반환합니다 

2 의 3 제곱:

SELECT POWER(2,3) -- 8
RADIANS(x)각도를 라디안으로 변환합니다  

180도를 라디안으로 변환합니다:

SELECT RADIANS(180) -- 3.1415926535898
RAND()0부터 1 의 무작위 수  
SELECT RAND() --0.93099315644334
ROUND(x)x에 가장 가까운 정수를 반환합니다
SELECT ROUND(1.23456) --1
SIGN(x)x의 부호를 반환합니다, x는 음수, 0, 양수로 각각 반환됩니다 -10과 1 
SELECT SIGN(-10) -- (-1)
SIN(x)정弦 값을 구합니다(매개변수는 라디안입니다)  
SELECT SIN(RADIANS(30)) -- 0.5
SQRT(x)x의 제곱근을 반환합니다  

25 의 제곱근:

SELECT SQRT(25) -- 5
SUM(expression)지정된 필드의 합을 반환합니다

OrderDetails 테이블의 Quantity 필드의 합을 계산합니다:

SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;
TAN(x)반비례 값을 구합니다(매개변수는 라디안입니다)
SELECT TAN(1.75);  -- -5.52037992250933
TRUNCATE(x,y)수치 x를 소수점 이하 y자리까지 반올림하여 반환합니다(ROUND와 가장 큰 차이는 반올림하지 않는다는 점입니다)
SELECT TRUNCATE(1.23456,3) -- 1.234

MySQL 날짜 함수

함수 이름설명예제
ADDDATE(d,n)시작 날짜 d에 n일 더한 날짜 계산
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
->2017-06-25
ADDTIME(t,n)n은 시간 표현식이며, 시간 t에 시간 표현식 n을 더합니다

추가 5 초:

SELECT ADDTIME('2011-11-11 11:11:11, 5);
->2011-11-11 11:11:16 (秒)

추가 2 시간, 10 분, 5 초:

SELECT ADDTIME("2020-06-15 09:34:21", ",2:10:5); 
-> 2020-06-15 11:44:26
CURDATE()현재 날짜 반환
SELECT CURDATE();
-> 2018-09-19
CURRENT_DATE()현재 날짜 반환
SELECT CURRENT_DATE();
-> 2018-09-19
CURRENT_TIME현재 시간을 반환합니다
SELECT CURRENT_TIME();
-> 19:59:02
CURRENT_TIMESTAMP()返回当前日期和时间
SELECT CURRENT_TIMESTAMP();
-> 2018-09-19 20:57:43
CURTIME()현재 시간을 반환합니다
SELECT CURTIME();
-> 19:59:02
DATE()날짜 또는 날짜 시간 표현식에서 날짜 값을 추출합니다
SELECT DATE("2017-06-15);    
-> 2017-06-15
DATEDIFF(d1,d2)날짜 d를 계산합니다1->d2 간의 일 수
SELECT DATEDIFF('2001-01-01','2001-02-02")
-> -32
DATE_ADD(d, INTERVAL expr type)시작 날짜 d에 시간 간격을 더한 후의 날짜를 계산합니다
SELECT ADDDATE('2011-11-11 11:11:11,1)
-> 2011-11-12 11:11:11    (默认是天)
SELECT ADDDATE('2011-11-11 11:11:11', INTERVAL 5 MINUTE)
-> 2011-11-11 11:16:11 (TYPE의 값은 위에 나열된 함수와 유사합니다)
DATE_FORMAT(d,f)표현식 f에 따라 날짜 d를 표시합니다
SELECT DATE_FORMAT('2011-11-11 11:11:11('%Y',-%m-%d %r')
-> 2011-11-11 11:11:11 AM
DATE_SUB(date,INTERVAL expr type)DATE_SUB 함수는 지정된 시간 간격을 날짜에서 뺍니다。

Orders 테이블의 OrderDate 필드에서 2 일:

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders
DAY(d)날짜 값 d의 날짜 부분을 반환합니다
SELECT DAY("2017-06-15);  
-> 15
DAYNAME(d)날짜 d가 주의 몇 번째 요일인지 반환합니다,예를 들어 Monday,Tuesday
SELECT DAYNAME('2011-11-11 11:11:11")
->금요일
DAYOFMONTH(d)날짜 d가 올 달의 몇 번째 날인지 계산합니다
SELECT DAYOFMONTH('2011-11-11 11:11:11")
->11
DAYOFWEEK(d)날짜 d가 오늘 주의 몇 번째 요일인지1 일요일까지2 월요일부터 순서대로
SELECT DAYOFWEEK('2011-11-11 11:11:11")
->6
DAYOFYEAR(d)날짜 d가 올해의 몇 번째 날인지 계산합니다
SELECT DAYOFYEAR('2011-11-11 11:11:11")
->315
EXTRACT(type FROM d)날짜 d에서 지정된 값을 추출합니다,type는 반환할 값을 지정합니다。
type의 값은 다음과 같습니다:
  • MICROSECOND

  • SECOND

  • MINUTE

  • HOUR

  • DAY

  • WEEK

  • MONTH

  • QUARTER

  • YEAR

  • SECOND_MICROSECOND

  • MINUTE_MICROSECOND

  • MINUTE_MICROSECOND

  • MINUTE_MICROSECOND

  • MINUTE_SECOND

  • HOUR_MICROSECOND

  • HOUR_SECOND

  • HOUR_MINUTE

  • DAY_MICROSECOND

  • DAY_SECOND

  • DAY_MINUTE

DAY_HOUR2011-11-11 11:11:11") 
-> 11
YEAR_MONTHSELECT EXTRACT(MINUTE FROM ' 1 월 1 FROM_DAYS(n)
0000 년1111)
-일로부터 n 일 후의 날짜3-01-16
SELECT FROM_DAYS(> 000
HOUR(t)1:2:3")
-> 1
t에서의 시간 값을 반환SELECT HOUR('
LAST_DAY(d)2017-06-2지정된 날짜의 해당 월의 마지막 날을 반환
-> 2017-06-30
SELECT LAST_DAY("返回当前日期和时间
0");
-> 2018-09-19 20:57:43
LOCALTIME()返回当前日期和时间
SELECT LOCALTIME()
-> 2018-09-19 20:57:43
LOCALTIMESTAMP()-year)-SELECT LOCALTIMESTAMP()MAKEDATE(year, day-year)-지정된 연도 year와 연도 중의 일수 day
of2017, 3);
-> 2017-01-03
year연도에 날짜를 반환
SELECT MAKEDATE(11, 35, 4);
-> 11:35:04
MAKETIME(hour, minute, second)시간, 분, 초를 조합
SELECT MAKETIME(2017-06-20 09:34:00.000023);
-> 23
MICROSECOND(t)t에서의 분 값을 반환
SELECT MICROSECOND('1:2:3")
-> 2
MONTHNAME(d)날짜 중의 월 이름을 반환, 예: November
SELECT MONTHNAME('2011-11-11 11:11:11")
-> November
MONTH(d)날짜 d의 월 값을 반환1 도 12
SELECT MONTH('2011-11-11 11:11:11")
->11
NOW()返回当前日期和时间
SELECT NOW()
-> 2018-09-19 20:57:43
PERIOD_ADD(period, number)연도에-월 조합 날짜에 시간을 추가
SELECT PERIOD_ADD(201703, 5);   
-> 201708
PERIOD_DIFF(period1, period2)두 시간 사이의 월 차이를 반환
SELECT PERIOD_DIFF(201710, 201703);
-> 7
QUARTER(d)반환된 날짜 d가 몇 번째 季절인지 반환 1 도 4
SELECT QUARTER('2011-11-11 11:11:11")
-> 4
SECOND(t)返回 t 中的秒钟值
SELECT SECOND('1:2:3")
-> 3
SEC_TO_TIME(s)将以秒为单位的时间 s 转换为时分秒的格式
SELECT SEC_TO_TIME(4320)
-> 01:12:00
STR_TO_DATE(string, format_mask)将字符串转变为日期
SELECT STR_TO_DATE("August 10 2017", ",%M %d %Y");
-> 2017-08-10
SUBDATE(d,n)日期 d 减去 n 天后的日期
SELECT SUBDATE('2011-11-11 11:11:11, 1)
->2011-11-10 11:11:11 (默认是天)
SUBTIME(t,n)时间 t 减去 n 秒的时间
SELECT SUBTIME('2011-11-11 11:11:11, 5)
->2011-11-11 11:11:06 (秒)
SYSDATE()返回当前日期和时间
SELECT SYSDATE()
-> 2018-09-19 20:57:43
TIME(expression)提取传入表达式的时间部分
SELECT TIME("19:30:10);
-> 19:30:10
TIME_FORMAT(t,f)按表达式 f 的要求显示时间 t
SELECT TIME_FORMAT('11:11:11,'%r')
11:11:11 AM
TIME_TO_SEC(t)将时间 t 转换为秒
SELECT TIME_TO_SEC('1:12:00')
-> 4320
TIMEDIFF(time1, time2)计算时间差值
SELECT TIMEDIFF("13:10:11", ",13:10:10);
-> 00:00:01
TIMESTAMP(expression, interval)单个参数时,函数返回日期或日期时间表达式;有2参数个数时,将参数相加
SELECT TIMESTAMP("2017-07-23", ",13:10:11);
-> 2017-07-23 13:10:11
TO_DAYS(d)날짜 d가 0000년에서의 거리를 계산합니다 1 월 1 일의 일수
SELECT TO_DAYS('0001-01-01 01:01:01")
-> 366
WEEK(d)날짜 d가 올해의 몇 번째 주인지 계산합니다. 범위는 0에서 53
SELECT WEEK("2011-11-11 11:11:11")
-> 45
WEEKDAY(d)날짜 d는 주 중 몇 번째 요일인가요? 0은 월요일을 의미합니다.1 화요일을 의미합니다
SELECT WEEKDAY("2017-06-15);
-> 3
WEEKOFYEAR(d)날짜 d가 올해의 몇 번째 주인지 계산합니다. 범위는 0에서 53
SELECT WEEKOFYEAR("2011-11-11 11:11:11")
-> 45
YEAR(d)년도를 반환합니다
SELECT YEAR("2017-06-15);
-> 2017
YEARWEEK(date, mode)년도 및 주 번호를 반환합니다(0에서53),mode 중 0은 일요일을 의미합니다.1화요일을 나타내며, 이어서 그런대로
SELECT YEARWEEK("2017-06-15);
-> 201724

MySQL 고급 함수

함수 이름설명예제
BIN(x)x의 이진编码을 반환

15 의 2 진법编码:

SELECT BIN(15); -- 1111
BINARY(s)문자열 s를 이진 문자열로 변환
SELECT BINARY "w3codebox";
-> w3codebox
CASE expression
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
   ...
    WHEN conditionN THEN resultN
    ELSE result
END
CASE는 함수 시작을 나타내며, END는 함수 종료를 나타냅니다. condition이1 성립하면 결과 result을 반환1, condition이 만족하면2 성립하면 결과 result을 반환2전부가 성립하지 않으면 결과 result을 반환하며, 하나가 성립하면 나머지는 실행되지 않습니다.
SELECT CASE 
  WHEN 1 > 0
  THEN '1 > 0'
  WHEN 2 > 0
  THEN '2 > 0'
  ELSE '3 > 0'
  END
->1 > 0
CAST(x AS type)데이터 타입 변환

문자열 날짜를 날짜로 변환:

SELECT CAST("2017-08-29" AS DATE);
-> 2017-08-29
COALESCE(expr1, expr2, ...., expr_n)파라미터 중 첫 번째 비어있지 않은 표현식(왼쪽에서 오른쪽으로)을 반환
SELECT COALESCE(NULL, NULL, NULL, 'oldtoolbag.com, NULL, 'google.com');
-> oldtoolbag.com
CONNECTION_ID()유일한 연결 ID를 반환
SELECT CONNECTION_ID();
-> 4292835
CONV(x,f1,f2)f를 반환1 진법수를 f로 변환2 진법수
SELECT CONV(15, 10, 2);
-> 1111
CONVERT(s USING cs)문자열 s의 문자집합을 cs로 변환하는 함수
SELECT CHARSET('ABC')
-> utf-8    
SELECT CHARSET(CONVERT('ABC' USING gbk))
-> gbk
CURRENT_USER()현재 사용자를 반환
SELECT CURRENT_USER();
-> guest@%
DATABASE()현재 데이터베이스 이름을 반환
SELECT DATABASE();   
-> w3codebox
IF(expr,v1,v2)표현식 expr이 성립하면 결과 v를 반환1;다른 경우, 결과 v를 반환2。
SELECT IF(1 > 0,'정确','오류')    
->정확
IFNULL(v1,v2)v1 의 값이 NULL이 아니면 v를 반환1، 다른 경우 v를 반환2。
SELECT IFNULL(null,'Hello Word')
->Hello Word
ISNULL(expression)표현식이 NULL인지 여부를�断
SELECT ISNULL(NULL);
->1
LAST_INSERT_ID()최근 생성된 AUTO_INCREMENT 값을 반환
SELECT LAST_INSERT_ID();
->6
NULLIF(expr1, expr2)문자열 expr이1 expr과2 expr이 NULL과 같으면 NULL을 반환하며, 다를 때 expr을 반환1
SELECT NULLIF(25, 25);
->
SESSION_USER()현재 사용자를 반환
SELECT SESSION_USER();
-> guest@%
SYSTEM_USER()현재 사용자를 반환
SELECT SYSTEM_USER();
-> guest@%
USER()현재 사용자를 반환
SELECT USER();
-> guest@%
VERSION()데이터베이스의 버전 번호를 반환
SELECT VERSION()
-> 5.6.34