MySQL学習過程(五):各種関数


1数学関数
関数#カンスウ#
説明
ABS(X)
Xの絶対値を返す
PI()
円周率を返し、小数点以下6桁をデフォルトで表示
SQRT(X)
Xの平方根を返します
MOD(X, Y)
XがYで除算された剰余を返す
CEIL(X)
X以下の最小整数値を返します.
CEILING(X)
X以下の最小整数値を返します.
FLOOR(X)
X以下の最大整数値を返します.
RAND()
乱数を生成
RAND(X)
乱数を発生し、Xパラメータが同じであれば、複数回実行し、発生した乱数は同じである.
ROUND(X)
Xを四捨五入した整数値を返します
ROUND(X, Y)
Xに対して四捨五入操作を行い、その値は小数点以下のY位まで保持し、Yが負であれば小数点左のY位まで保持する
SIGN(X)
Xの記号を返し、負は-1、ゼロは0、正則は1を返します.
POW(X, Y)
XのY乗を返します
POWER(X, Y)
XのY乗を返します
EXP(X)
eのX乗を返す
LOG(X)
Xの自然対数を返す
LOG10(X)
戻りXの基数が10の対数
RADIANS(X)
角度を円弧に変換
DEGREES(X)
円弧を角度に変換
SIN(X)
サイン関数
ASIN(X)
せいげんかんすうのぎゃくかんすう
COS(X)
コサイン関数
ACOS(X)
コサイン関数の逆関数
TAN(X)
正接関数
ATAN(X)
正接関数の逆関数
COT(X)
コタンジェント関数
もう1つの関数:TRUNCATE(X,Y)はXが小数点を切り取られた後のY位の数字を返し、Yが0であれば小数部を切り取り、Yが負であればX小数点の左側|y|位置0、例えば:
TRUNCATE(1.21, 1) = 1.2 TRUNCATE(1.21, 0) = 1 TRUNCATE(31.21, -1) = 30

2文字列関数
関数#カンスウ#
説明
CHAR_LENGTH(str)
文字列strの文字数の計算
CONCAT(s1, s2, …)
s 1,s 2,...
CONCAT_WS(x, s1, s2, …)
区切り記号xを使用してs 1,s 2,...をつなぎ合わせる
INSERT(s1, x, len, s2)
サブ文字列がx位置と文字列s 2に置き換えられたlen文字から始まる文字列s 1を返す
LOWER(str)
大文字を小文字に変換
LCASE(str)
大文字を小文字に変換
UPPER(str)
小文字を大文字に変換
UCASE(str)
小文字を大文字に変換
LEFT(s, n)
文字列sの左のn文字からなるサブ列を返します
RIGHT(s, n)
文字列sの右側のn文字からなるサブ列を返します
LPAD(s1, len, s2)
文字列s 1を返し、その左側が文字列s 2によってlen文字長に埋め込まれる
RPAD(s1, len, s2)
文字列s 1を返し、その右側が文字列s 2によってlen文字長に埋め込まれる
LTRIM(s)
文字列sの左端のスペースを削除
RTRIM(s)
文字列sの右端のスペースを削除
TRIM(s)
文字列sの両端のスペースを削除
TRIM(s1 FROM s)
文字列sの両端のすべての文字列s 1を削除します.s 1が指定されていない場合、デフォルトはスペースです.
REPEEAT(s, n)
n個の文字列sがつなぎ合わせられた文字列を返す
SPACE(n)
n個のスペースからなる文字列を返します
REPLACE(s, s1, s2)
s内のすべてのs 1を文字列s 2で置き換える
STRCMP(s1, s2)
文字列の比較
SUBSTRING(s, n, len)
返される文字列sのnからlenの長さのサブ列
MID(s, n, len)
返される文字列sのnからlenの長さのサブ列
LOCATE(str1, str)
str 1の文字列str内の位置を返します
POSITION(str1 IN str)
str 1の文字列str内の位置を返します
INSTR(str, str1)
str 1の文字列str内の位置を返します
REVERSE(s)
反転文字列を返します
ELT(n, s1, s2, …)
は、s 1,s 2,...のn番目の文字列を返します.
FIELD(s, s1, s2, …)
戻り文字列sがs 1,s 2,...にある位置
FIND_IN_SET(s1, s2)
文字列リストs 2における文字列s 1の位置を返す
MAKE_SET(x, s1, s2, …)
xのバイナリ数で指定された対応するビットの文字列からなる文字列を返します.
3日付と時刻の関数
関数#カンスウ#
説明
CURDATE()
現在の日付を返す
CURRENT_DATE()
現在の日付を返す
CURTIME()
現在の時刻を返す
CURRENT_TIME()
現在の時刻を返す
CURRENT_TIMESTAMP()
現在の日付と時刻の組合せを返します
LOCALTIME()
現在の日付と時刻の組合せを返します
NOW()
現在の日付と時刻の組合せを返します
SYSDATE()
現在の日付と時刻の組合せを返します
UNIX_TIMESTAMP()
Unixタイムスタンプを返し、1970年以降の秒数
UNIX_TIMESTAMP(date)
Unixタイムスタンプを返し、1970年以降の秒数
FROM_UNIXTIME(date)
Unix形式のタイムスタンプを通常のフォーマット時間に変換
UTC_DATE()
現在のUTC日付値(ワールド標準時刻)を返します.
UTC_TIME()
現在のUTC時間値を返します
MONTH(date)
dateに対応する月を返します.1-12
MONTHNAME(date)
返される日付dateは月の英語名に対応します
DAYNAME(d)
返される日付dに対応する英語名、例えばSunday、Mondayなど
DAYOFWEEK(d)
戻り日dは週の何日目に対応し、1は日曜日、2は月曜日、7は土曜日
WEEKDAY(d)
戻り日dは週の何日目に対応し、0は月曜日、1は火曜日、6は日曜日を表す
WEEK(d)
日付dは1年の何週目ですか
WEEK(d, mod)
戻り日dは1年の何週目で、modは1週間が何週目から始まるかを決めることができます
WEEKOFYEAR(d)
1年の最初の週に戻る
DAYOFYEAR(d)
戻り日dは1年の何日目ですか
DAYOFMONTH(d)
戻り日dは当月の何日目ですか
YEAR(date)
dateに対応する年を返します
QUARTER(date)
dateの1年間の第数四半期を返します
MINUTE(time)
timeの分を返す
SECOND(time)
timeの秒数を返す
EXTRACT(type FROM date)
dateの一部を抽出
TIME_TO_SEC(time)
timeを秒数に変換
SEC_TO_TIME(seconds)
秒数を分秒形式にする時間
DATE_FORMAT(date, format)
日付時刻の書式設定
日付と時刻を計算する関数DATE_ADD(),ADDDATE(),DATE_SUB(),SUBDATE(),ADDTIME(),SUBTIME(),DATE_DIFF().
4条件判定関数、暗号解読関数、システム情報関数
関数#カンスウ#
説明
IF(expr, v1, v2)
式exprがTRUEである場合、v 1が返される.そうでない場合はv 2を返します
IFNULL(v1, v2)
v 1がNULLでない場合は、v 1を返します.そうでない場合はv 2を返します
CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END
ケース文
VERSION()
MySQLサーバーのバージョンを返します
CONNECTION_ID()
Mysqlサーバの現在の接続を返す回数
DATABASE()
utf 8文字セットを使用するデフォルトのデータベース名を返します.
SCHEMA()
utf 8文字セットを使用するデフォルトのデータベース名を返します.
USER()
MYsqlサーバで現在検証されているユーザー名とホスト名の組合せを返します.
CURRENT_USER()
MYsqlサーバで現在検証されているユーザー名とホスト名の組合せを返します.
SYSTEM_USER()
MYsqlサーバで現在検証されているユーザー名とホスト名の組合せを返します.
SESSION_USER()
MYsqlサーバで現在検証されているユーザー名とホスト名の組合せを返します.
CHARSET(str)
文字列strで使用される文字セットを返します.
COLLATION(str)
文字列strを返す文字配列方式
LAST_INSERT_ID()
最後のINSERTまたはUPDATEまたはAUTO_を返します.INCREMENTカラム設定の最初の発生値
PASSWORD(str)
暗号化関数
MD5(str)
計算文字列のMD 5 128ビットチェックサム
ENCODE(str, pswd_str)
暗号化関数
DECODE(crypt_str, pswd_str)
復号関数
FORMAT(x, n)
数値xを小数点以下nビット保持し、結果を文字列形式で返す
CONV(n, from_basem, to_base)
数値nをある進数から別の進数に変換する
INET_ATON(expr)
文字列ネットワークアドレスを整数に変換
INET_NTOA(expr)
数値ネットワークアドレスを文字列ネットワークアドレスに変換
GET_LOCK(str, timeout)
ロックを取得
RELEASE_LOCK(str)
リリースロック
IS_FREE_LOCK(str)
ロックstrが使用可能かどうかを確認します
IS_USED_LOCK(str)
ロックstrが使用されているかどうかを確認します
BENCHMARK(count, expr)
式exprを繰り返し、count回を実行
CONVERT(str USING type)
変換文字列strの符号化フォーマット
CAST(x AS type)
xをtypeタイプに変換
CONVERT(x, type)
1つのタイプのxを別のタイプに変換