mysqlのSQL関数
16065 ワード
さんじゅつかんすう ABS:絶対値 を取る MOD:取り残し ROUND:四捨五入時指定小数点数
文字列関数 CONCAT:複数の文字列を に接続 LENGTH:フィールドの長さを計算して、1つの漢字は3つの文字を計算して、アルファベットと数字は1つの文字の を計算します CHAR_LENGTH:すべて1文字 として計算 LOWER:すべて小文字に変換 UPPER:すべて大文字 に変更 REPLACE:置換文字 SUBSTRING:切り取り文字列(文字列、切り取り開始位置、切り取り長)
日付関数 DATEDIFF:2時間の比較 CURRENT_DATE:システムの現在の日付 CURRENT_TIME:システム現在時刻 CURRENT_TIMESTAMP:システム現在時刻(日付+時間) ECTRACT:具体的な年、月、日 を抽出 DATE:時刻を返す日付部 YEAR:戻り時間の年部分 MONTH:戻り時間の月間部分 DAY:戻り時間の日数分 HOUR:戻り時間の時間部分 MINUTE:戻り時間の分部 SECOND:戻り時間の秒部分
へんかんかんすう CAST:強制データ型変換 COALESCE:最初の非Null値 を返します.
集約関数 SUM:求和 AVG:平均値 を求める MAX:最大値 を見つける MIN:最小値(パラメータを受信) を見つける LEAST:複数のフィールドの最小値(複数のパラメータを受信) を見つける. COUNT:カウント
SELECTのクエリでは、キーワードの順序を逆さまにすることはできません.
カーソル操作
SELECT ABS(-1); # 1
SELECT MOD(22,5); # 22%5 2
SELECT ROUND(15.43,1); # 15.4
文字列関数
SELECT CONCAT("%","pibigstar"); # %pibigstar
SELECT LENGTH(" "); # 6
SELECT CHAR_LENGTH(" "); # 2
SELECT LOWER("AB"); # ab
SELECT UPPER("ab") # AB
SELECT REPLACE("abc","a", "f"); # fbc
SELECT SUBSTRING("abc", 1, 2); # ab
日付関数
SELECT CURRENT_DATE(); # 2019-06-29
SELECT CURRENT_TIME(); # 21:44:33
SELECT CURRENT_TIMESTAMP(); # 2019-06-29 21:44:33
SELECT EXTRACT(YEAR FROM '2019-06-29'); # 2019
SELECT DATE('2019-06-29 21:44:33'); # 2019-06-29
SELECT DAY('2019-06-29 21:44:33'); # 29
#
SELECT * FROM user WHERE DATEDIFF(create_at,now())=0
#
SELECT * FROM user WHERE DATEDIFF(create_at,now())=-1
#
SELECT * FROM user WHERE MONTH(create_at)=MONTH(now())
へんかんかんすう
SELECT CAST(65.243 AS DECIMAL(8,2)); # 65.24
SELECT COALESCE(null,null,2,3); # 2
集約関数
SELECT SUM(age) FROM user;
SELECT AVG(age) FROM user;
SELECT MAX(age) FROM user;
SELECT MIN(age) FROM user;
SELECT COUNT(*) FROM user; # , null
SELECT COUNT(age) FROM user; # age null,
SELECT COUNT(*) FROM user GROUP BY age;
SELECT LEAST(end_time,now());
SELECTのクエリでは、キーワードの順序を逆さまにすることはできません.
SELECT...FROM...WHERE...GROUP BY...HAVING...ORDER BY...LIMIT...
カーソル操作
CREATE PROCEDURE update_attendance()
BEGIN
DECLARE s int DEFAULT 0;
DECLARE id varchar(32);
DECLARE name varchar(32);
-- , sql
DECLARE report CURSOR FOR SELECT id,name FROM admin_user where sex = '1';
--
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
--
open report;
-- , : , sql
fetch report into id, name;
-- s 1, ,
while s<>1 do
--
UPDATE admin_sex SET user_id = id WHERE name = name;
-- s 1 ,
end while;
--
close report;
END;