1. 程式人生 > >MySQL數學函式 查詢資料

MySQL數學函式 查詢資料

絕對值函式ABS(x)

SELECT ABS(-2); 2

獲取整數的函式 CEIL(X) 返回不小於x的最小整數值 FLOOR(X) 返回不大於x的最大整數值

SELECT CEIL(-3.35);  -3

SELECT FLOOR(-3.35);  -4

四捨五入函式 ROUND(X) ROUND(X,Y)保留小數點後Y位

SELECT ROUND(-1.14);  -1

SELECT ROUND(1.38,1); 1.4

CONCAT(S1,S2,...)返回結果為連線引數產生的字串,或許有一個或多個引數。如有任何一個引數為null,則返回null

SELECT CONCAT('MYSQL','5.5'),CONCAT('MY',NULL,'SQL');   MYSQL5.5 NULL

CONCAT_WS(X,S1,S2,...)是CONCAT()的特殊形式,第一個字元是其他引數的分隔符,可以是一個字串,也可以是其他引數

SELECT CONCAT_WS('-','1ST','2ND','3RD'),CONCAT_WS('*','1ST',NULL,'3RD');   

1ST-2ND-3RD  1ST*3RD

LOWER(STR)或者LCASE(STR)可以將字串str中的字母字元全部轉換成小寫字母。

SELECT LOWER('BLACK'),LCASE('WELL');  black well

UPPER(STR)或者UCASE(STR)可以將字串str中的字母字元全部轉換成大寫字母。

SELECT UPPER('black'),UCASE('Well');  BLACK WELL

CURDATE() 和CURRENT_DATE()函式作用相同,將當前日期按照‘YYYY-MM-DD’或‘YYYYMMDD’格式的值返回

SELECT CURDATE(),DURDATE()+0;  2018-04-11  20180411

CURTIME()和CURRENT_TIME()函式作用相同,將當前時間以‘HH:MM:SS’或HHMMSS的格式返回

SELECT CURTIME(),CURDATE()+0;  19:38:40 193840.000000

NOW() 顯示現在的日期和時間

SELECT NOW();   2018-04-11 19:41:56

DATE_FORMAT(date,format)根據format指定的格式顯示date值

SELECT DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y') AS TIME;   Saturday October 1997

查詢所有資料:SELECT *FROM 表名;

查詢指定列資料:SELECT 欄位1,欄位2.. FROM 表名;

查詢指定記錄:SELECT *|欄位1,欄位2...FROM 表名 WHERE 查詢條件;

BETWEENT AND  範圍查詢  :SELECT * FROM 表名 WHERE 欄位名 BETWEEN 最小值 AND 最大值;

IN 限定範圍查詢 : SELECT *FROM 表名 WHERE 欄位  IN (指定值1,指定值2..);

LIKE 匹配: SELECT * FROM 表名 WHERE 欄位 LIKE  '%(任意長度字元)|_(一個下劃線表示一個字元)' ;   PS :z% 以z開頭   %z 以z結尾  %z% 包含z

查詢空值:SELECT * FROM 表名 WHERE 欄位 IS NULL ;  非空值 IS NOT NULL;

AND多條件查詢:SELECT * FROM 表名 WHERE 條件1 AND 條件2 AND 條件3...;

OR多條件:SELECT * FROM 表名 WHERE 條件1 OR 條件2 OR 條件3....;

查詢結果不重複:SELECT DISTINCT 欄位名 FROM 表名;
排序: SELECT * FROM 表名 ORDER BY 欄位1,欄位2  ASC(升序)|DESC(降序);
先根據欄位1指定方向排序,再根據欄位2指定方向排序:SELECT * FROM 表名 ORDER BY 欄位1 排序方向,欄位2 排序方向;
分組查詢,合併結果: SELECT s_id,GROUP_CONCAT(欄位) AS 別名 FROM 表名 GROUP BY 欄位 HAVING 限定條件; 
使用函式查詢:SELECT 欄位1,函式(欄位) AS 別名 FROM 表名  條件;inner join 內連線語法結構 : SELECT 欄位1,欄位2... FROM 表1 INNER JOIN 表2 ON 條件;自連線語法結構 : SELECT 邏輯表1.欄位1,邏輯表1.欄位2 FROM 表1 AS 邏輯表1,表1 AS 邏輯表2 WHERE 邏輯表1.欄位N = 邏輯表2.欄位N AND 邏輯表.欄位 = 值;左外連線語法結構: SELECT 表1.欄位1,欄位2,欄位3 FROM 表1 LEFT OUTER JOIN 表2 ON 條件;
右外連線語法結構:SELECT 表2.欄位,欄位1,欄位2...FROM 表1 RIGHT OUTER JOIN 表2 ON 條件;
子查詢語法結構:SELECT 欄位1,欄位2...FROM 表 WHERE 條件1 AND (子查詢ANY|ALL|EXISTS|IN)(子查詢語句);