MYSQL共通関数
4549 ワード
GROUP_CONCAT()この関数は、1つのグループからの接続を持つNULL以外の値の文字列結果を返します.
あとはプロジェクトレッスンでデモンストレーション!!!
ifnull(exp 1,exp 2)が空の場合
select ifnull(a,'なし')aフィールドに空のデータがある場合は'なし'と表示されます.
if(exp1,exp2,exp3)
selectif(male=0,'男','女')maleフィールドが0に等しい場合は'男'を表示しない場合は'女'を表示します
一、数学関数:
ABS絶対値関数
select abs(-5) ;
Ceil天井整数、すなわちxより大きい整数
select ceil(-13.5);
FLOOR(X)がxより小さい最大整数
select FLOOR(3.5);
コレクションの最大値を返し、leastは最小値を返します.max、minとは違います.maxの中にはcolがついています.この列の最大値の最小値を返します.
select GREATEST(1,2,3,4);
mod(x,y)はx/yの残数を返す
select mod(5,2);
pi()はpiを返す
select pi();
RAND()は0,1間の乱数を返す
select rand();
round(x,y)はxを返し、yビットの小数を四捨五入した値を返します.
select round(pi(),3);
truncate(x,y)は、数字xをyビット小数に切り捨てた結果、四捨五入を考慮せずに直接切り落とす
select TRUNCATE(pi(),4),ROUND(pi(),4),pi();
Sign(x)はxシンボルを返す
select sign(-5);
二、集約関数(常用語groupby従文select文)
AVg(col)は指定した列の平均値を返す
select AVG( quantity) from orderitems;
count(col)は、指定した列のnull以外の数を返します.
select count(quantity) from orderitems;
min(col)max(col)指定した列の最大最小値を返す
select max(quantity),min(quantity) from orderitems;
sum(col)は制定列の和を求める値を返す
select sum(quantity) from orderitems;
group_concat(col)は、このカラム接続の組合せの結果を返し、カンマで区切られています.
select group_concat(prod_id) from orderitems
三、文字列関数
concat()接続文字列
select concat('1','私','2');
concat_ws(sep,s 1,s 2,s 3)接続文字列をsepで区切る
select concat_ws('|','1','私','2');
INSERT(str,pos,len,newstr)は、文字列strのpos位置からのlen長をnewstrに置き換えます.
select'hello world',INSERT('hello world',2,3,'傑兄');
FIND_IN_SET(str,strlist)はカンマで区切られたlistを解析し、strがlistの位置を返すことを発見した場合
select find_in_set('abc','aabc,sdf,det,abc')#は4を返します.
LCASE(str)、LOWER(str)はすべて小文字を返す結果で、UPPER()、UCASE()はすべて大文字の結果を返します
select LCASE('UUSU');
LEFT(str,len)は、左から右にstrから長さlenの文字列を選択し、
select left('hello world',4);
substring(str,len)左から右strからlen長の文字列を選択して末尾に切り取る
select substring('hello world',4);
length(str)はstr文字列の長さを返します
select length('hello world');
trim(),ltrim()rtrim()はそれぞれ両端のスペース,左のスペース,右のスペースを取り除く
select trim(' hello ');
QUOTE(str)はstr中の単一引用符を反スラッシュで変換する
select QUOTE("hello ' world")
REPLACE(str,from_str,to_str)strでfrom strをto_str
select replace('hello world','hello','hi');
repeat(str,count)繰り返しstr count回
select repeat('hello world',3);
reverse(str)逆さまstr
select reverse('hello world');
STRCMP(expr 1,expr 2)は、2つの文字列を比較し、同じように0を返し、異なるように1を返します.
select STRCMP('hello','world')
四、日付と時間関数
datediff(date 1,date 2)は、2つの日付が離れた日数を返します.
SELECT DATEDIFF('2008-12-30','2008-12-29');
curdate()またはcurrent_date()NOW()は、返却日時+時刻です
select current_date();
Curtime()現在時刻、またはcurrent_time()
select curtime();
DATE_ADD(date,INTERVAL expr unit)は、dateにint日付を加えた日付を返し、date_sub()も同じです
select date_add(curdate(),interval 5 day); --現在の日付を返す5日後のパラメータは負のselect date_add(curtime(),interval 5 hour); --現在の時刻を返してから5時間後のパラメータは負になります.
dayofweek()DAYOFMONTH(date)DAYOFYEAR(date)戻り日は週の何日目、月の何日目、年の何日目です
select DAYOFMONTH(CURDATE());
daynameは日付曜日を返します
select dayname(CURDATE());
hour(time),minute(time),month(date)
select curtime(),hour(CURTIME()),minute(curtime()); select curdate(),month(curdate()),year(curdate()),day(curdate());
MONTHNAME(date)は月名を返します
select monthname(curdate());
quarter(date)は、日付の第数四半期を返します.
select quarter(curdate());
week(date)は週に戻る
select week(curdate());
year()戻り年
select year(curdate());
minute()戻り分
select week(now());
TIMESTAMPDIFF(unit,datetime_expr 1,datetime_expr 2)は2つの時間差を計算し、datediff()
select TIMESTAMPDIFF(year,19920202,CURDATE())
DATE_FORMAT(date,format)はフォーマットに従って日付を変換し、具体的なformatフォーマットは調べることができる.
select date_format(CURDATE(),'%m-%d-%Y');
%aは日曜名%bは月名%c月、数値%Dは英文接頭辞付き月の日%d月、数値(00-31)%e月の日、数値(0-31)%fマイクロ秒%H時間(00-23)%h時間(01-12)%I時間(01-12)%i分、数値(00-59)%j年の日(001-366)%k時間(0-23)%l時間(1-12)%M月名%m月、数値(00-12)%p AMまたはPM%r時間、12時間(hh:mm:ss AMまたはPM)%S秒(00-59)%s秒(00-59)%T時間、24時間(hh:mm:ss)%U週(00-53)日曜日は週の初日%u週(00-53)月曜日は週の初日%V週(01-53)日曜日は週の初日、%X使用%v週(01-53)月曜日は週の初日、%x使用%W日曜日(0=日曜日、6=土曜日)%X年、その中の日曜日は週の初日で、4位、%Vと%x年を使って、その中の月曜日は週の初日で、4位、%vと%Y年を使って、4位%y年、2位
あとはプロジェクトレッスンでデモンストレーション!!!
ifnull(exp 1,exp 2)が空の場合
select ifnull(a,'なし')aフィールドに空のデータがある場合は'なし'と表示されます.
if(exp1,exp2,exp3)
selectif(male=0,'男','女')maleフィールドが0に等しい場合は'男'を表示しない場合は'女'を表示します
一、数学関数:
ABS絶対値関数
select abs(-5) ;
Ceil天井整数、すなわちxより大きい整数
select ceil(-13.5);
FLOOR(X)がxより小さい最大整数
select FLOOR(3.5);
コレクションの最大値を返し、leastは最小値を返します.max、minとは違います.maxの中にはcolがついています.この列の最大値の最小値を返します.
select GREATEST(1,2,3,4);
mod(x,y)はx/yの残数を返す
select mod(5,2);
pi()はpiを返す
select pi();
RAND()は0,1間の乱数を返す
select rand();
round(x,y)はxを返し、yビットの小数を四捨五入した値を返します.
select round(pi(),3);
truncate(x,y)は、数字xをyビット小数に切り捨てた結果、四捨五入を考慮せずに直接切り落とす
select TRUNCATE(pi(),4),ROUND(pi(),4),pi();
Sign(x)はxシンボルを返す
select sign(-5);
二、集約関数(常用語groupby従文select文)
AVg(col)は指定した列の平均値を返す
select AVG( quantity) from orderitems;
count(col)は、指定した列のnull以外の数を返します.
select count(quantity) from orderitems;
min(col)max(col)指定した列の最大最小値を返す
select max(quantity),min(quantity) from orderitems;
sum(col)は制定列の和を求める値を返す
select sum(quantity) from orderitems;
group_concat(col)は、このカラム接続の組合せの結果を返し、カンマで区切られています.
select group_concat(prod_id) from orderitems
三、文字列関数
concat()接続文字列
select concat('1','私','2');
concat_ws(sep,s 1,s 2,s 3)接続文字列をsepで区切る
select concat_ws('|','1','私','2');
INSERT(str,pos,len,newstr)は、文字列strのpos位置からのlen長をnewstrに置き換えます.
select'hello world',INSERT('hello world',2,3,'傑兄');
FIND_IN_SET(str,strlist)はカンマで区切られたlistを解析し、strがlistの位置を返すことを発見した場合
select find_in_set('abc','aabc,sdf,det,abc')#は4を返します.
LCASE(str)、LOWER(str)はすべて小文字を返す結果で、UPPER()、UCASE()はすべて大文字の結果を返します
select LCASE('UUSU');
LEFT(str,len)は、左から右にstrから長さlenの文字列を選択し、
RIGHT
(str,len)は反対select left('hello world',4);
substring(str,len)左から右strからlen長の文字列を選択して末尾に切り取る
select substring('hello world',4);
length(str)はstr文字列の長さを返します
select length('hello world');
trim(),ltrim()rtrim()はそれぞれ両端のスペース,左のスペース,右のスペースを取り除く
select trim(' hello ');
QUOTE(str)はstr中の単一引用符を反スラッシュで変換する
select QUOTE("hello ' world")
REPLACE(str,from_str,to_str)strでfrom strをto_str
select replace('hello world','hello','hi');
repeat(str,count)繰り返しstr count回
select repeat('hello world',3);
reverse(str)逆さまstr
select reverse('hello world');
STRCMP(expr 1,expr 2)は、2つの文字列を比較し、同じように0を返し、異なるように1を返します.
select STRCMP('hello','world')
四、日付と時間関数
datediff(date 1,date 2)は、2つの日付が離れた日数を返します.
SELECT DATEDIFF('2008-12-30','2008-12-29');
curdate()またはcurrent_date()NOW()は、返却日時+時刻です
select current_date();
Curtime()現在時刻、またはcurrent_time()
select curtime();
DATE_ADD(date,INTERVAL expr unit)は、dateにint日付を加えた日付を返し、date_sub()も同じです
select date_add(curdate(),interval 5 day); --現在の日付を返す5日後のパラメータは負のselect date_add(curtime(),interval 5 hour); --現在の時刻を返してから5時間後のパラメータは負になります.
dayofweek()DAYOFMONTH(date)DAYOFYEAR(date)戻り日は週の何日目、月の何日目、年の何日目です
select DAYOFMONTH(CURDATE());
daynameは日付曜日を返します
select dayname(CURDATE());
hour(time),minute(time),month(date)
select curtime(),hour(CURTIME()),minute(curtime()); select curdate(),month(curdate()),year(curdate()),day(curdate());
MONTHNAME(date)は月名を返します
select monthname(curdate());
quarter(date)は、日付の第数四半期を返します.
select quarter(curdate());
week(date)は週に戻る
select week(curdate());
year()戻り年
select year(curdate());
minute()戻り分
select week(now());
TIMESTAMPDIFF(unit,datetime_expr 1,datetime_expr 2)は2つの時間差を計算し、datediff()
select TIMESTAMPDIFF(year,19920202,CURDATE())
DATE_FORMAT(date,format)はフォーマットに従って日付を変換し、具体的なformatフォーマットは調べることができる.
select date_format(CURDATE(),'%m-%d-%Y');
%aは日曜名%bは月名%c月、数値%Dは英文接頭辞付き月の日%d月、数値(00-31)%e月の日、数値(0-31)%fマイクロ秒%H時間(00-23)%h時間(01-12)%I時間(01-12)%i分、数値(00-59)%j年の日(001-366)%k時間(0-23)%l時間(1-12)%M月名%m月、数値(00-12)%p AMまたはPM%r時間、12時間(hh:mm:ss AMまたはPM)%S秒(00-59)%s秒(00-59)%T時間、24時間(hh:mm:ss)%U週(00-53)日曜日は週の初日%u週(00-53)月曜日は週の初日%V週(01-53)日曜日は週の初日、%X使用%v週(01-53)月曜日は週の初日、%x使用%W日曜日(0=日曜日、6=土曜日)%X年、その中の日曜日は週の初日で、4位、%Vと%x年を使って、その中の月曜日は週の初日で、4位、%vと%Y年を使って、4位%y年、2位