>  기사  >  데이터 베이스  >  MySQL의 함수 및 조건자 예에 대한 자세한 설명

MySQL의 함수 및 조건자 예에 대한 자세한 설명

零下一度
零下一度원래의
2017-06-28 10:29:411266검색

이전 글에서 다뤘기 때문에 요약해서 여기서 다시 정리하겠습니다.

1. 함수

1. 산술 함수

NUMERIC은 대부분의 DBMS에서 지원하는 데이터 형식으로, 값의 크기는 NUMBERIC(자릿수, 소수 자릿수) 형식으로 지정됩니다.

-- +-*/

--余数
SELECT n, p, MOD(n, p) AS mod_col FROM SampleMath;

--绝对值
SELECT m, ABS(m) AS abs_col FROM SampleMath;

--四舍五入
SELECT m, n, ROUND(m, n) AS round_col FROM SampleMath;

2, 문자열 함수

--字符串拼接
SELECT str1, str2, str3, CONCAT(str1, str2, str3) AS str_concat FROM SampleStr

--字符串长度
SELECT str1, LENGTH(str1) AS len_str FROM SampleStr;

--大小写转换
SELECT str1, UPPER/LOWER(str1) AS low_str FROM SampleStr WHERE str1 IN ('ABC', 'aBC', 'abc')

--字符串替换str1中的str2换为str3
SELECT str1, str2, str3, REPLACE(str1, str2, str3) AS rep_str FROM SampleStr;
 
--字符串截取 FROM截取的起始位置FOR截取的字符数
SELECT str1, SUBSTRING(str1 FROM 3 FOR 2) AS sub_str FROM SampleStr;

3, 날짜 함수

--当前日期
SELECT CURRENT_DATE;

--当前时间
SELECT CURRENT_TIME;

--当前时间戳
SELECT CURRENT_TIMESTAMP;

--截取日期元素
SELECT CURRENT_TIMESTAMP,
       EXTRACT(YEAR   FROM CURRENT_TIMESTAMP)  AS year,
       EXTRACT(MONTH  FROM CURRENT_TIMESTAMP)  AS month,
       EXTRACT(DAY    FROM CURRENT_TIMESTAMP)  AS day,
       EXTRACT(HOUR   FROM CURRENT_TIMESTAMP)  AS hour,
       EXTRACT(MINUTE FROM CURRENT_TIMESTAMP)  AS minute,
       EXTRACT(SECOND FROM CURRENT_TIMESTAMP)  AS second;

4, 변환 함수

--类型转换
SELECT CAST('0001' AS SIGNED INTEGER) AS int_col;
SELECT CAST('2009-12-14' AS DATE) AS date_col;

--将 NULL 转换为其他值
--返回可变参数中左侧开始第 1 个不是 NULL 的值
SELECT COALESCE(NULL, 1)                  AS col_1,
       COALESCE(NULL, 'test', NULL)       AS col_2,
       COALESCE(NULL, NULL, '2009-11-01') AS col_3;

5, 집계 함수

COUNT, SUM, AVG, MAX, MIN

더 많은 함수 및 연산자

2. 조건자

술어의 기능은 "특정 조건을 충족하는 레코드가 있는지 확인"하는 것입니다. 해당 레코드가 있으면 true(TRUE)를 반환하고, 없으면 false(FALSE)를 반환합니다.

--部分一致查询
LIKE

--范围查询
BETWEEN

--判断是否为NULL
IS NULL、IS NOT NULL

--OR 的简便用法
IN

--谓词的主语是“记录”...没懂!
EXISTS

3. CASE 표현

--格式
CASE WHEN <求值表达式> THEN <表达式>
     WHEN <求值表达式> THEN <表达式>
     WHEN <求值表达式> THEN <表达式>
       .
       .
       .
     ELSE <表达式>
END
-- 使用搜索CASE表达式的情况
SELECT product_name,
      CASE WHEN product_type = '衣服'
           THEN 'A :' | |product_type
           WHEN product_type = '办公用品'
           THEN 'B :' | |product_type
           WHEN product_type = '厨房用具'
           THEN 'C :' | |product_type
           ELSE NULL
       END AS abc_product_type
  FROM Product;


-- 使用简单CASE表达式的情况
SELECT product_name,
       CASE product_type
            WHEN '衣服'      THEN 'A :' || product_type
            WHEN '办公用品'  THEN 'B :' || product_type
            WHEN '厨房用具'  THEN 'C :' || product_type
            ELSE NULL
        END AS abc_product_type
  FROM Product;
--使用IF代替CASE表达式
SELECT  product_name,
       IF( IF( IF(product_type = '衣服',
                   CONCAT('A :', product_type), NULL)
               IS NULL AND product_type = '办公用品',
                   CONCAT('B :', product_type),
           IF(product_type = '衣服',
              CONCAT('A :', product_type), NULL))
                  IS NULL AND product_type = '厨房用具',
                     CONCAT('C :', product_type),
                  IF( IF(product_type = '衣服',
                       CONCAT('A :', product_type), NULL)
               IS NULL AND product_type = '办公用品',
                  CONCAT('B :', product_type),
           IF(product_type = '衣服',
              CONCAT('A :', product_type),
         NULL))) AS abc_product_type
 FROM Product;

위 내용은 MySQL의 함수 및 조건자 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.