mysql共通関数のバックアップ

1. 文字列関数
ascii (str)  
は、文字列 str の最初の文字の ASCII 値を返します (str が空の文字列の場合は 0 を返します) 
mysql> select ascii('2'); 
  -> 50 
mysql> select ascii(2) ) ; 
  -> 50 
mysql> select ascii('dete'); 
  -> 100 

 
ord(str) は、  
文字列 str の先頭がシングルバイトの場合に ascii() 関数が返すのと同じ値を返します。
 
マルチバイト文字の場合は、((1 バイト目の ASCII コード)*256+(2 バイト目の ASCII コード))[*256+3 バイト目の ASCII コード...] mysql> select ord('2') の形式で返されます。 

  - > 50  
  
conv(n,from_base,to_base)  
は数値 n を基数に変換し、文字列として返します (いずれかのパラメーターが null の場合は null が返され、基数の範囲は 2 ~ 36 基数で、to_base が負の数の場合は nは有効な数値として使用されます) 符号付き数値、それ以外の場合は符号なし数値、conv は 64 ビット精度で動作します) 
mysql> select conv("a",16,2); 
  -> '1010'
mysql> select conv("6e",18 ,8); 
  - > '172'
mysql> select conv(-17,10,-18); 
  -> '-h'
mysql> select conv(10+"10"+'10'+0xa,10,10) ; 
  -> '40 ' 
  
bin(n) は  
、n をバイナリ値に変換し、文字列として返します (n は bigint 数値であり、conv(n,10, 
2)) mysql> bin(12) を選択します。 
  -> '1100' 
 
oct(n)  
'ql');   -> null mysql> select concat(14.3);    -> '14.3' 長さ(str)  


  
 



  
 





  








 

octet_length(str) 
char_length(str) 
Character_length(str) 
は、文字列 str の長さを返します (マルチバイト文字の場合、char_length は 1 回だけ計算されます)
mysql> select length('text'); 
  -> 4 
mysql> select octet_length(' text' ); 
  -> 4locate  
 
(substr,str)  
position(substr in str) は、  
文字列 str 内で文字列 substr が初めて出現する位置を返します (str に substr が含まれていない場合は 0 を返します) 
。 'bar', ' foobarbar'); 
  -> 4 
mysql> selectlocate('xbar', 'foobar'); 
  ->  
   
0locate(substr, str, pos) 
は、pos 位置から始まる文字列 substr の最初の出現を返します。文字列 str の位置 (str に substr が含まれていない場合は 0 を返します) 
mysql> selectlocate('bar', 'foobarbar',5); 
  -> 7  
 
instr(str,  
substr)は、文字列 str 内で文字列 substr が最初に出現する位置を返します (str に substr が含まれていない場合は 0 を返します)。 
4);   -> 'rbar' サブストリング(str,pos,len)  サブストリング(len の pos からの str)   mid(str,pos,len) 



 




  




 
 



 




 


 
pos len 文字から始まる文字列 str の位置を返します mysql> select substring('quadratally',5,6); -> 
  'ratica' 
 
substring(str,pos)  
substring(str from pos) は  
次から始まる文字列 str の位置を返しますpos mysql の部分文字列 
> select substring('quadratally',5); 
  -> 'ratally'
mysql> select substring('foobarbar' from 4); 
  -> 'barbar' 
 
substring_index(str,delim,count) は  
次の文字列を返します。 str の count 番目に出現する区切り文字 delim の後の部分文字列
(count が正の数の場合は左端が返され、それ以外の場合は右端の部分文字列が返されます)。 
mysql> select substring_index('www.mysql.com', '. ', 2); 
  -> 'www.mysql'
mysql> select substring_index('www.mysql.com', '.', -2); 
  -> 'mysql. com'
 
ltrim(str)  
は、左スペースが削除された文字列 str を返します 
mysql> select ltrim(' barbar'); 
  -> 'barbar' 
 
rtrim(str)  
は、右側のスペースを削除した文字列 str を返します 
mysql> select rtrim('barbar '); 
  -> 'barbar' 
 
トリム([[両方 | 先頭 | 末尾] [remstr] from] str) は、  
プレフィックスまたはサフィックス remstr を返します削除された文字列 str (位置パラメータのデフォルトは両方、remstr のデフォルト値はスペース) 
mysql> select trim(' bar '); 
  -> 'bar'
mysql> selectrim (leading 'x' from 'xxxbarxxx'); 
  - > ' barxxx'
mysql> selectrim(both 'x' from 'xxxbarxxx'); 
  -> 'bar'
mysql> selectrim(trailing 'xyz' from 'barxxyz'); 
  -> 'barx' 
 
soundex(str)  
は str を返します 同音異義語文字列 (「ほぼ同じ」発音の文字列は同じ
同音異義語の文字列を持ち、英数字以外の文字は無視されます。 a ~ z 以外の文字は母音として扱われます)
mysql> select soundex('hello'); 
  -> 'h400'
mysql> select soundex('quadratally'); 
  -> 'q36324' 
  
space(n) は  
n 個のスペース文字で構成される文字列を返します 
mysql> select space(6); 
  -> ' ' 
  
replace(str, from_str, to_str) は  
文字列 to_str を使用して部分文字列 from_str の文字列 str を置き換えます。 return 
mysql> select replace('www.mysql.com', 'w', 'ww'); 
  -> 'wwwwww.mysql.com'repeat 
 
(str, count)  
count の文字列を返します str を文字列に接続します (null
が返されます)いずれかのパラメータが null の場合、および count<=0) の場合は空の文字列が返されます。 
mysql> selectrepeat('mysql', 3); 
  -> 'mysqlmysqlmysql' 
  
reverse(str)  
文字列 str の文字順序を反転し、 
mysql> selectを返します。 reverse('abc'); 
  -> 'cba' 
 
insert(str,pos,len,  
newstr)位置 pos から始まる len 文字の長さの文字列 str の部分文字列を文字列
newstr に置き換え、 
mysql> select insert('quadratic', 3, 4, 'what'); を 返します。
  -> 'quwhattic' 
 
elt(n,str1,str2,str3,...) は  
n 番目の文字列を返します (n は 1 未満かパラメータの数より大きく、null を返します) 
mysql> select elt(1, 'ej' , 'heja ', 'hej', 'foo'); 
  -> 'ej'
mysql> select elt(4, 'ej', 'heja', 'hej', 'foo'); -> 
  'foo' 
 
field( str,str1 , str2, str3,...) は、  
それに続く n 番目の文字列のシリアル番号に等しい str を返します (str が見つからない場合は 0 を返します) 
mysql> select field('ej', 'hej', 'ej' , 'heja' , 'hej',
'foo'); 
  -> 2 
mysql> select field('fo', 'hej', 'ej', 'heja', 'hej', '
foo'); 
  -> 0  
 
find_in_set(str,  
strlist)文字列セット strlist 内の str のシリアル番号を返します (パラメータが null の場合は null を返し
、 str が見つからない場合は 0 を返します。パラメータ 1 に "," が含まれる場合は動作が異常です) 
mysql> select find_in_set( 'b','a, b,c,d'); 
  -> 2  
  
make_set(bits,str1,str2,...) 
パラメータ 1 の数値を 2 進数に変換し、ある位置の 2 進数のビットが 1 に等しい場合、
対応する位置の文字列を文字列セットに選択して返します (null 文字列は結果に追加されません) 
。 make_set(1,'a' ,'b','c'); 
  -> 'a'
mysql> select make_set(1 | 4,'hello','nice','world'); -> ' 
  hello,world '
mysql> select make_set(0 ,'a','b','c'); 
  -> '' 
 
export_set(bits,on,off,[separator,[number_of_bits]]) は  
ビット単位で設定された文字列を配置し、ビットが 1 に等しい場合は文字列を挿入します。オン、そうでない場合はオフを挿入します
(区切り文字のデフォルト値は「,」、number_of_bits パラメーターが使用されている場合、長さは 0 を埋めるのに不十分であり、
長すぎる場合は切り捨てられます)  
。 import_set(5,'y','n',',',4) 
  -> y ,n,y,   n
 
lcase(str) 
lower(str)  
は小文字の文字列 str を返します 
mysql> select lcase('quadratally'); 
  -> 'quadratally' 
  
ucase(str)  
upper(str)  
は大文字の文字列 str を返します 
mysql> select ucase('quadratally'); 
  -> 'quadratally' 
 
load_file(file_name) は  
ファイルを読み取り、ファイルの内容を文字列として返します (ファイルが見つからない、パスが
不完全、権限がない、および長さmax_allowed_pa​​cket より大きい場合、null が返されます) 
mysql > update table_name set blob_column=load_file
("/tmp/picture") where id=1;  
 
2. 数学関数
abs(n) 
は n の絶対値を返します 
mysql> select abs (2);   
  -> 2   
mysql> select abs(- 32);   
  ->    
  
32sign(n) 
はパラメータの符号を返します (-1、0、または 1) 
mysql> select signal(-32);   
  -> - 1   
mysql> select signed(0);   
  -> 0   
mysql> select signal(234);   
  -> 1    
 
mod(n,m)   
モジュロ演算、n を m で割ったときの余りを返します (% 演算子と同じ)   
mysql> select mod(234, 10);   
  -> 4   
mysql> select 234 % 10;   
  -> 4   
mysql> select mod(29,9);   
  -> 2    
 
Floor(n) は n
を超えない最大の整数値を返します。 
> select Floor(1.23);   
  -> 1   
mysql> select Floor(-1.23);   
  -> -2    
 
Ceiling(n) 
は n 以上の最小の整数値を返します 
mysql> select Ceiling(1.23);   
  -> 2   
mysql> select Ceiling( -1.23);   
  -> -1round    
 
(n,d) は 
、小数点以下 d 桁を保持して n の四捨五入した値を返します (d のデフォルト値は 0) 
mysql> selectround(-1.23);   
  -> -1   
mysql > ラウンドを選択( -1.58);   
  -> -2   
mysql> ラウンドを選択(1.58);   
  -> 2   
mysql> selectround(1.298, 1);   
  -> 1.3   
mysql> selectround(1.298, 0);   
  -> 1    
 
exp(n) 
は e の n 乗 (自然対数の底) を返します 
mysql> select exp(2 ) ;   
  -> 7.389056   
mysql> select exp(-2);   
  -> 0.135335    
 
log(n) は 
n の自然対数を返します 
mysql> select log(2);   
  -> 0.693147   
mysql> select log(-2);   
  -> null    
 
log10 (n) 
n の 10 を底とする対数を返します 
mysql> select log10(2);   
  -> 0.301030   
mysql> select log10(100);   
  -> 2.000000   
mysql> select log10(-100);   
  -> null    
 
pow(x ,y)   
power(x,y) は、   
 x を y 乗した値を返します。 
mysql> select pow(2,2);   
  -> 4.000000   
mysql> select pow(2,-2);   
  -> 0.250000  sqrt(n)   は、非負の数 n の平方根を返します mysql> select sqrt(4);      -> 2.000000    mysql> select sqrt(20);      -> 4.472136     pi() は   pi  を返します  mysql> select pi();      -> 3.141593     cos(n) は   n のコサイン値を返します mysql> select cos(pi());    - > -1.000000     sin(n )   は n の正弦値を返します  mysql> select sin(pi());      -> 0.000000     Tan(n) は n の正接値を返します mysql> select Tan(pi()+1);      -> 1.557408     acos(n)   は、n コサインの逆数を返します (n は -1 ~ 1 の範囲のコサイン値です。それ以外の場合は null が返されます)。 
 






 




 




 




 




 


mysql> select acos(1);   
  -> 0.000000   
mysql> select acos(1.0001);   
  -> null   
mysql> select acos(0);   
  -> 1.570796    
 
asin(n) 
は n 個の逆正弦値を返します 
mysql> select asin(0.2);   
  -> 0.201358   
mysql> select asin('foo');   
  -> 0.000000    
 
atan(n) は 
n の逆正接を返します 
mysql> select atan(2);   
  -> 1.107149   
mysql> select atan(-2);   
  -> -1.107149   
atan2(x,y)   は、2 つの変数 x と y の逆正接を返します (y/x   の   
 逆正接と同様に、符号によって象限が決まります 
)    。 (pi(),0);      -> 1.    570796 cot(n) は x の余接を返します 



 


mysql> select cot(12);   
  -> -1.57267341   
mysql> select cot(0);   
  -> null    
 
rand() 
rand(n)   
は、0 ~ 1.0 の範囲のランダムな浮動小数点値を返します (数値 n は次のように使用できます)初期値)
 
mysql> select rand();   
  -> 0.5925   
mysql> select rand(20);   
  -> 0.1811   
mysql> select rand(20);   
  -> 0.1811   
mysql> select rand();   
  -> 0.2079   
mysql> select rand ();   
  -> 0.7888    
 
度(n) 
n をラジアンから度に変換して返します 
mysql> selectdegree(pi());   
  -> 180.000000    
 
ラジアン(n) 
n を度からラジアンに変換して返します  
mysql> select radians(90) ;   
  -> 1.570796   切り捨て(n,   d)
 

0);   -> 767.0   






 








 






mysql> select biggest("b","a","c");   
  -> "c"     3. 期間時間関数dayofweek(date) は、   日付 date が曜日 (1=日曜日、2=) を返します。 Monday,... 7=Saturday, odbc standard)  mysql> select dayofweek('1998-02-03');      -> 3     Weekday(date)は日付の曜日を返します (0=月曜日、1=火曜日、 ...6=日曜日) 。mysql> 平日を選択('1997-10-04 22:23:   
 





 
   

 




 
 



 




 

0);   -> 7    mysql> 週を選択('1998-02-20',1);   


 




 
 



 




 








  -> 8    
 
year(date)   
は日付の年を返します (範囲は 1000 から 9999 です)   
mysql> select year('98-02-03');   
  ->    
 
1998hour(time)   
は時刻を返します (範囲は 0 から 9999 です) 23) )  
mysql> selecthour('10:05:03');   
  -> 10    
 
minutes(time)   
は時間の分数を返します (範囲は 0 ~ 59)   
mysql> select minutes('98-02-03 10 :05:03 ');   
  -> 5    
 
Second(time)   
は時間の秒数を返します (範囲は 0 ~ 59)  
mysql> select Second('10:05:03');   
  -> 3    
 
period_add(p,n )   
期間 p に n か月を追加して返します (p の形式は yymm または yyyymm です)   
mysql> select period_add(9801,2);   
  -> 199803    
 
period_diff(p1,p2) は   
期間 p1 と p2 の間の月数を返します ( p1 と p2 の形式は yymm または yyyymm です) 
mysql> select period_diff(9802,199703);   
  -> 11   
 
date_add(date,interval expr type) 
date_sub(date,interval expr type)   
adddate(date,interval expr type)   
subdate(date,interval expr type) 
日付と時刻の加算 減算操作 
(adddate() および subdate() は、date_add() および date_sub() と同義です。
関数の代わりに演算子 + および - を使用することもできます。date 
は日時または日付の値、expr は日付を加算および減算するメソッドです。式文字
列タイプは、式 expr がどのように解釈されるかを指定します 
 [期待される式の形式を意味するタイプ値]: 
 秒 秒 秒   
 分 分 分   
 時 時間   
 時 日 日 月 月   
 月   
 年 年 分   
 _秒 分と秒 "分:秒 "   
 時_分時と分「時:分」   
00 mysql> 間隔 1 日 + "1997-12-31"; を選択します。      -> 1998-01-01    mysql> "1998-01-01" を選択 - 間隔 1 秒;      -> 1997-12-31 23:59:59   












 





mysql> select date_add("1997-12-31 23:59:59",interval 1
秒);   
  -> 1998-01-01 00:00:00   
mysql> select date_add("1997-12-31 23:59:59",interval 1
day);   
  -> 1998-01-01 23:59:59   
mysql> select date_add("1997-12-31 23:59:59",interval
"1:1" 分_秒);   
  -> 1998-01-01 00:01:00   
mysql> select date_sub("1998-01-01 00:00:00",interval "1
1:1:1" day_second);   
  -> 1997-12-30 22:58:59   
mysql> select date_add("1998-01-01 00:00:00"、間隔 "-1
10" day_hour); 
  -> 1997-12-30 14:00:00   
mysql> select date_sub("1998-01-02",   間隔は 31 日)。
  -> 1997-12-02   
mysql> select extract(year from "1999-07-02");   
  -> 1999   
mysql> select extract(year_month from "1999-07-02
01:02:03");   
  -> 199907   
mysql> select extract(day_ minutes from "1999-07-02 01:02:03"); "1999-07-02
01:02:03");   
  -> 20102    
 
to_days(date) は   
西暦 0 年からの日数を返します (1582 年より前の年はカウントしません) 
mysql> select to_days(950501);   
  -> 728779   
mysql > select to_days('1997-10-07');   
  -> 729669    
 
from_days(n) は、   
 0 年から現在までを返す日数を与えます (1582 年より前の年はカウントしません)  
mysql> select from_days(729669);   
  -> '1997 -10-07'    
 
date_format(日付,   
format)  フォーマット文字列に従って日付値をフォーマットします 
 (フォーマット文字列で使用可能な識別子は次のとおりです)。 
 %m 月の名前 (1 月...12 月)   
 %w 週の名前 (日曜日...土曜日)   
 %d 英語の接頭語が付いた日付 (1 日、2 日、3 日など)   
 %y 年、数字、4 桁   
 % y 年、数字、2 桁   
 %a 週の短縮名 (sun...sat)   
 %d 月の日数、数値 (00...31)   
 %e 月の日数、数値 (0 ...31)   
 %m 月、数値 (01...12)   
 %c 月、数値 (1...12)   
 %b 月の省略名 (jan...dec)   
 %j 年間の日数 ( 001...366)   
 %h 時間 (00...23)   
 %k 時間 (0...23)   
 %h 時間 (01...12)   
 %i 時間 (01...12)   
 %l 時間 ( 1...12)   
 %i 分、数字 (00...59)   
 % r 時間、12 時間 (hh:mm:ss [ap]m)   
 %t 時間、24 時間 (hh:mm:ss)   
 %s秒 (00……59)   
 %s 秒 (00……59)   
 %p 午前または午後   
 %w 週の日数 (0=日曜日...6=土曜日)   
 %u 週 (0...52)、日曜日が週の最初の日   
 %u 週 (0... 52)、月曜日は曜日です 最初の日   
 %% 文字 %) 
mysql> select date_format('1997-10-04 22:23:00','%w %m %
y');   
  -> ' 1997 年 10 月土曜日'   
mysql> select date_format(' 1997-10-04 22:23:00','%h:%i:%
s');   
  -> '22:23:00'   
mysql> select date_format('1997 -10-04 22:23:00' ,'%d %y %a %
d %m %b %j');   
  -> '4th 97 sat 04 10 oct 277'   
mysql> select date_format('1997-10- 04 22:23:00','% h %k %i
%r %t %s %w');   
  -> '22 22 10 10:23:00 pm 22:23:00 00 6'    
 
time_format(time, 
format)  は date_format() に似ていますが、time_format は時、分、秒のみを処理します (他の
記号は null 値または 0 を生成します)。  
 
curdate()    
current_date() は、 
現在の日付値を 'yyyy-mm-dd' または yyyymmdd 形式 (  戻り値の
コンテキストに応じて文字列または数値   ) で返します
。 mysql> select curdate();   
  -> '1997- 12-15'   
mysql> select curdate() + 0;   
  -> 19971215    
 
curtime()   
current_time() 
 は、現在の時刻値を 'hh:mm:ss' または hhmmss 形式で返します (戻り値は文字列または数値になります。コンテキスト
)     
mysql> select curtime();   
  -> '23:50:26'   
mysql> select curtime() + 0;   
  -> 235026    
 
now()    
sysdate()    
current_timestamp() 
 in 'yyyy-mm-dd hh:mm :ss' または yyyymmddhhmmss 形式 現在の日付と
時刻を返します (戻り値のコンテキストに応じて文字列または数値のいずれか)    
mysql> select now();   
  -> '1997-12-15 23:50:   26分
mysql> select now() + 0;   
  -> 19971215235026    
 
unix_timestamp()   
unix_timestamp(date)   
は、UNIX タイムスタンプ ( '1970-01-01 00:00:00'gmt から始まる
秒、date のデフォルト値は現在時刻
mysql> select unix_timestamp();   
  -> 882226357   
mysql> select unix_timestamp('1997-10-04 22:23:00');   
  -> 875996580    
 
from_unixtime(unix_timestamp)   
with 'yyyy-mm-dd hh:mm :ss' または、
タイムスタンプの値を yyyymmddhhmmss 形式で返します (戻り値のコンテキストに応じて文字列または数値になります) mysql> select    
from_unixtime(875996580);   
  -> '1997-10-04 22:23: 00'   
mysql> select from_unixtime(875996580) + 0;   
  -> 19971004222300    
 
from_unixtime(unix_timestamp,   
format)は、タイムスタンプの値をフォーマット文字列フォーマットで返します。 
mysql> select from_unixtime(unix_timestamp(),'%y %d %m %
h:%i:%s %x');   
  -> '1997 年 12 月 23 日 03:43:30 x'    
 
sec_to_time(秒)   
with 'hh: mm:ss' または hhmmss 形式は、秒から変換された時間値を返します (戻り値はコンテキストに応じて文字列または数値になります) mysql>    
select sec_to_time(2378);   
  -> '00:39:38'   
mysql> select sec_to_time ( 2378) + 0;   
  -> 3938    
 
time_to_sec(time) は   
時間値の秒数を返します   
mysql> select time_to_sec('22:23:00');   
  -> 80580   
mysql> select time_to_sec('00:39:   38');
  -> 2378 
 
変換関数の
キャストの
使用法: Cast (データ型としてのフィールド) [もちろん、変換が成功するかどうかは、データ型を強制的に変換する際の注意点に依存します]
例: カードサーバーから b としてキャスト (a を署名なしとして選択) where order by b desc;
変換:
使用法: Convert (フィールド、データ型)
例: select Convert (a, unsigned) as b from carderver where order by b desc;

出典: https://blog.csdn.net/qq_42239765/article/details/83898664

おすすめ

転載: blog.csdn.net/qq_37511875/article/details/102496203