(9):Mysql常用函数小结_MySQL
bitsCN.com
一、String Functions
String functions is one of the most commonly used for Mysql.
(1):concat(s1,s2,..Sn)
连接s1,s2,...sn为一个字符串。如:
<code>SELECT CONCAT('|',2,'*','&'); #|2*&SELECT concat(50,'%'); #50%SELECT concat('abc',null) #Null</code>
(2):insert(str,x,y,instr)
将字符串str从第x位置开始,y个字符长的子串替换为字符串instr
<code>SELECT INSERT('I love Jack',8,4,'Lada'); #start 1</code>
(3):lower(str)
、upper(str)
大小写转换
(4):left(str,x)
、right(str,x)
分别返回字符串最左边的x个字符和最右边的x个字符,如果第二个参数的null
则不返回任何字符串。
<code>SELECT left('My name is',2); #MySELECT right('My name is',2); #isSELECT left('Jack',NULL); #Null</code>
(5):lpad(str,n,pad)
、rpad(str,n,pad)
用于字符串pad对str最左边和最右边进行填充,直到长度为n个字符长度。
<code>SELECT lpad('hi',5,'?') #???hiSELECT rpad('hi',10,'Jack') #hiJackJack</code>
(6):ltrim(str)
、rtrim(str)
去掉字符串str左侧和右侧的空格。
<code>SELECT ltrim(' hi'); #hiSELECT rtrim('hi '); #hi</code>
(7):repeat(str,x)
返回str重复x次的结果
<code>SELECT repeat('*',10) #**********</code>
(8):replace(str,a,b)
用字符串b替换str的所有出现的字符串a
<code>SELECT replace('L love Jan','J','B'); #L love Ban</code>
(9):strcmp(str1,str2)
比较字符串str1和str2的ASCII码值大小
<code>SELECT strcmp('A','a'),strcmp('a','a') # 0 0</code>
(10):trim(str)
去掉字符串str首尾空格
(11):substring(str,x,y)
返回从字符串str中第x位置其y个字符长度的子串。
<code>SELECT substring('good',2,4) #ood,位置[x,y]</code>
二、数值函数
(1):abs(x)
:返回x的绝对值
(2):ceil(x)
:返回大于x的最小整数值
<code>SELECT ceil(-0.8),ceil(0.8) #0 1</code>
(3):floor(x)
返回小于x的最大整数值
<code>SELECT floor(-0.8),floor(0.8) #-1 0</code>
(4):mod(x,y)
返回x/y的模
<code>SELECT mod(5,3) #2</code>
(5):rand()
:返回0~1之间的随机数
SELECT rand(),round(10*rand(),2)
#0.87565597228301
#1.47
(6):round(x,y)
返回参数x的四舍五入的有y位小数的值
(7):truncate(x,y)
返回数字x截断y位小数的结果
<code>SELECT truncate(rand(),3) #0.109</code>
三、日期和时间函数
(1):curdate()
、curtime()
、now()
:返回当前日期、当前时间、当前日期时间
<code>SELECT curdate() #2013-10-23SELECT curtime() #13:37:04SELECT now() #2013-10-23 13:37:18</code>
(2):week(date)
:返回日期date为一年中的第几周
<code>SELECT week(now()) #42</code>
(3):year(date)
、hour(time)
、minute(time)
、second(time)
返回当前年份、小时、分钟、秒
<code>SELECT year(now()) #2013SELECT hour(now()) #13SELECT minute(now()) #53SELECT second(now()) #24</code>
(4):monthname(date)
返回月份名
<code>SELECT monthname(now()) #October</code>
(5):date_format(date,fmt)
:按字符串fmt格式化日期date值,此函数能够按指定日期显示
<code>SELECT date_format(now(),'%y-%m-%d %H:%I:%s') </code>
%S, %s 两位数字形式的秒( 00,01, ..., 59)
%I, %i 两位数字形式的分( 00,01, ..., 59)
%H 两位数字形式的小时,24 小时(00,01, ..., 23)
%h 两位数字形式的小时,12 小时(01,02, ..., 12)
%k 数字形式的小时,24 小时(0,1, ..., 23)
%l 数字形式的小时,12 小时(1, 2, ..., 12)
%T 24 小时的时间形式(hh:mm:ss)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM或PM
%W 一周中每一天的名称(Sunday, Monday, ..., Saturday)
%a 一周中每一天名称的缩写(Sun, Mon, ..., Sat)
%d 两位数字表示月中的天数(00, 01,..., 31)
%e 数字形式表示月中的天数(1, 2, ..., 31)
%D 英文后缀表示月中的天数(1st, 2nd, 3rd,...)
%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, ..., 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, ..., 366)
%U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(January, February, ..., December)
%b 缩写的月名( January, February,...., December)
%m 两位数字表示的月份(01, 02, ..., 12)
%c 数字表示的月份(1, 2, ...., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
(6):datediff(date1,date2)
计算两个日期之间相差的天数
<code>SELECT datediff('2015-8-8',now()) #654</code>
四、流程控制
(1):if(value,t,f)
如果value为真,返回t,否则返回f
<code>mysql> SELECT if(salary>1500,'高','低') FROM salary;+---------------------------+| if(salary>1500,'高','低') |+---------------------------+| 低|| 低|| 高|| 高|+---------------------------+4 rows in set</code>
(2):ifnull(value1,value2)
如果value1不为空返回value1,否则返回value2。这个函数一般用来替换Null的值。
<code>mysql> select ifnull(salary,0) from salary;+------------------+| ifnull(salary,0) |+------------------+| 1000 || 1500 || 2000 || 2500 ||0 |+------------------+5 rows in set</code>
(3):case when [value1] then [result1] ..else[default] end
如果value1为真,返回result1,否则返回default
<code>mysql> select case when salary>1500 then '高' else '低' end from salary;+-----------------------------------------------+| case when salary>1500 then '高' else '低' end |+-----------------------------------------------+| 低|| 低|| 高|| 高|| 低|+-----------------------------------------------+5 rows in set</code>
(4):case [expr] when [value1] then [result1] ..else[default] end
如果expr等于value1,返回result1,否则返回default
<code>mysql> select case salary when 1000 then '低' when 2000 then '中' else '高' end from salary;+-------------------------------------------------------------------+| case salary when 1000 then '低' when 2000 then '中' else '高' end |+-------------------------------------------------------------------+| 低|| 高|| 中|| 高|| 高|+-------------------------------------------------------------------+5 rows in set</code>
小技巧:
<code>mysql> select case when instr(type,'上季') then 1 when instr(type,'下季') then 2 else 3 end from salary;+-------------------------------------------------------------------------------+| case when instr(type,'上季') then 1 when instr(type,'下季') then 2 else 3 end |+-------------------------------------------------------------------------------+| 1 || 1 || 2 || 3 || 1 |+-------------------------------------------------------------------------------+5 rows in set</code>
五、其他函数
(1):database()
:返回当前数据库名
(2):version()
:返回当前数据库版本
(3):user()
:返回当前登录用户名
其他参考文档。
参考:《深入浅出mysql》

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでint型をstring型に変換する方法を詳しく解説 PHPの開発では、int型をstring型に変換する必要に遭遇することがよくあります。この変換はさまざまな方法で実現できますが、この記事では、読者の理解を深めるために、具体的なコード例とともに、いくつかの一般的な方法を詳しく紹介します。 1. PHP の組み込み関数 strval() を使用する PHP には、さまざまな型の変数を文字列型に変換できる組み込み関数 strval() が用意されています。 int型をstring型に変換する必要がある場合、

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang でプログラミングする場合、文字列が特定の文字で始まるかどうかを確認する必要がある状況によく遭遇します。この要件を満たすために、Golang の strings パッケージによって提供される関数を使用してこれを実現できます。次に、Golangを使って文字列が特定の文字で始まるかどうかを確認する方法を、具体的なコード例とともに詳しく紹介します。 Golang では、strings パッケージの HasPrefix を使用できます。

タイトル: Golang で文字列が特定の文字で終わるかどうかを判断する方法 Go 言語では、文字列が特定の文字で終わるかどうかを判断する必要があることがあります。これは文字列を処理するときに非常に一般的です。この記事では、Go 言語を使用してこの関数を実装する方法と、参考用のコード例を紹介します。まず、Golang で文字列が指定された文字で終わるかどうかを判断する方法を見てみましょう。 Golang の文字列内の文字はインデックス作成によって取得でき、文字列の長さは次のようになります。

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

PHP で 16 進数の文字列を変換するときに中国語の文字化けを解決する方法. PHP プログラミングでは、16 進数で表された文字列を通常の中国語の文字に変換する必要がある状況に遭遇することがあります。しかし、この変換の過程で、場合によっては中国語の文字化けが発生することがあります。この記事では、PHPで16進数を文字列に変換する際に中国語が文字化けする問題を解決する方法と、具体的なコード例を紹介します。 16 進数の変換には hex2bin() 関数を使用します。PHP の組み込み hex2bin() 関数は 1 を変換できます

PHP 文字列マッチングのヒント: あいまいな組み込み式を避ける PHP 開発では、文字列マッチングは一般的なタスクであり、通常は特定のテキスト コンテンツを検索したり、入力形式を検証したりするために使用されます。ただし、一致の精度を確保するために、曖昧な包含式の使用を避ける必要がある場合があります。この記事では、PHP で文字列マッチングを行うときにあいまいな包含式を回避するためのテクニックをいくつか紹介し、具体的なコード例を示します。完全一致には preg_match() 関数を使用します。 PHP では、preg_mat を使用できます。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

Web アプリケーションの開発に広く使用されているスクリプト言語として、PHP には非常に強力な文字列処理機能があります。日常の開発では、文字列、特に文字列の最後の 2 文字を削除する必要がある操作に遭遇することがよくあります。この記事では、文字列の最後の 2 文字を削除するための 2 つの PHP テクニックを紹介し、具体的なコード例を示します。ヒント 1: substr 関数を使用する PHP の substr 関数は、文字列の一部を返すために使用されます。文字列と開始位置を指定することで簡単に文字を削除できます
