【MySQL 09】よく使う関数

Feb 04, 2017 pm 01:25 PM

1. 数学関数

  • ABS(x)はxの絶対値を返します

  • BIN(x)はxの2進数を返します(OCTは8進数を返し、HEXは16進数を返します)

  • CEILING(x) x

  • EXP(x) より大きい最小の整数値 e (自然対数の底) の x 乗を返します

  • FLOOR(x) x

    より小さい最大の整数値を返します
  • GREATEST( x1,x2,…,xn) セット内の最大値を返します

  • LEAST(x1,x2,…,xn) セット内の最小値を返します

  • LN(x) x の自然対数 LOG( x,y) は x の y の底の対数を返します

  • MOD(x,y) は x/y の法 (剰余) を返します PI() は pi (pi) の値を返します

  • RAND() 0 から 1 までのランダムな値を返します。パラメーター (シード) を指定することで、RAND() 乱数ジェネレーターに指定された値を生成させることができます。

  • ROUND(x,y)は、小数点以下y桁のパラメータxの四捨五入した値を返します

  • SIGN(x)は、数値を表す符号の値を返します 平方根

  • TRUNCATE(x,y)数値 x を小数点以下 y 桁に切り捨てた結果を返します

  • 2. 集計関数

AVG(col) は指定された列の平均を返します

  • MIN(col) 指定された列の最小値を返します

  • MAX(col) 指定した列の最大値を返す

  • SUM(col) 指定した列のすべての値の合計を返す

  • GROUP_CONCAT(col) どれか一つに属する値を返すグループのカラム値を連結した結果

  • 3.文字列関数

ASCII(char)は文字のASCIIコード値を返しますBIT_LENGTH(str)は文字列のビット長を返します

  • CONCAT(s1 ,s2…,sn) s1,s2…,sn を文字列に連結します

  • CONCAT_WS(sep,s1,s2…,sn) s1,s2…,sn を文字列に連結し、sep で区切ります文字

  • INSERT(str,x,y,instr) は、x 番目の位置から始まる y 文字の長さの文字列 str の部分文字列を文字列 instr に置き換え、結果を返します

  • FIND_IN_SET(str, list) カンマ区切りを分析します リストのリスト、str が見つかった場合は、リスト内の str の位置を返します

  • LCASE(str) または LOWER(str) 文字列 str 内のすべての文字を小文字に変更した結果を返します

  • LEFT(str, x) 文字列の左端の x 文字を返します str

  • LENGTH(s) 文字列の文字数を返します str

  • LTRIM(str) 文字列 str

  • から先頭のスペースを切り取ります

    POSITION(substr,str) 文字列 str

  • QUOTE(str) 内で最初に出現する部分文字列 substr の位置を返します。 str

  • REPEAT(str,srchstr , rplcstr) 内の単一引用符をエスケープするにはバックスラッシュを使用します。文字列 str を繰り返した結果を返します

  • RTRIM(str) は文字列 str の末尾のスペースを返します
  • STRCMP(s1,s2) は文字列 s1 と s2 を比較します
  • TRIM(str) はすべてのスペースを削除します文字列
  • の先頭と末尾で UCASE(str) または UPPER(str) は、文字列 str 内のすべての文字を大文字に変換した結果を返します
  • 4. 日付と時刻の関数
  • CURDATE( ) または CURRENT_DATE() は現在の日付を返します
  • CURTIME() または CURRENT_TIME() は現在の時刻を返します
  • DATE_ADD(date,INTERVAL int キーワード) は日付と間隔時間の結果を返します int (int はフォーマットする必要があります)キーワードに従って)、例: SELECTDATE_ADD( CURRENT_DATE,INTERVAL 6 MONTH);

    DATE_FORMAT(date,fmt) は、指定された fmt 形式に従って日付値をフォーマットします
  • DATE_SUB(date,INTERVAL int キーワード)日付と間隔時間の結果を int で返します (int はキーワードに従ってフォーマットする必要があります)。例: SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);
  • DAYOFWEEK(date) は曜日 (1 ~ 7) を返します。 date
  • で表されます。 DAYOFMONTH(date) は、date に対して月の日 (1 ~ 31) を返します。 DAYOFYEAR(date) は、date に対して年間の日 (1 ~ 366) を返します。週の名前 (例: SELECT DAYNAME(CURRENT_DATE);
  • FROM_UNIXTIME(ts,fmt) 指定された fmt 形式に従って、UNIX タイムスタンプ ts
  • HOUR(time) をフォーマットし、時の値を返します時間の値(0~23)を返します
  • MINUTE(time)は時間の分の値を返します(0~59)
  • MONTH(date)は日付の月の値を返します(1~12)
  • MONTHNAME (date) は、次のような日付名の月を返します。 SELECT
  • MONTHNAME(CURRENT_DATE);
  • NOW() は、現在の日付と時刻を返します
  • QUARTER(date) は、四半期 (1~) を返します4) SELECT QUARTER(CURRENT_DATE);
  • WEEK(date) など、年の日付の日付をその年の週 (0~53) として返します
  • YEAR(date) date の年を返します (1000~9999) いくつかの例: 現在のシステム時刻を取得します:

  • SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());

  • SELEC TEXTRACT(YEAR_MONTH FROM CURR) ENT_DATE) ;

  • SELECT EXTRACT(DAY_SECOND FROM CURRENT_DATE);

  • SELECT EXTRACT(HOUR_MINUTE FROM CURRENT_DATE);

  • 2 つの日付値の差 (月数) を返します:

  • PERIOD_DIFF を選択(200302,199802)

  • Mysql で年齢を計算します:

  • SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(誕生日)),'%Y')+0 AS 年齢FROM社員;

  • このように、Brithdayを未来の年月日とすると、計算結果は0になります。

  • 次の SQL ステートメントは、従業員の絶対年齢を計算します。つまり、誕生日が将来の日付である場合、負の値が取得されます。

  • SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(誕生日, '%Y') -(DATE_FORMAT(NOW(), '00-%m-%d')

5、暗号化関数

  • AES_ENCRYPT(str,key): キー key を使用して Advanced Encryption Standard アルゴリズムを使用して文字列 str を暗号化した結果を返します。AES_ENCRYPT を呼び出した結果は、BLOB 型

  • に格納されたバイナリ文字列です。

    AES_DECRYPT(str,key) は、キー key を使用して Advanced Encryption Standard アルゴリズムを使用して文字列 str を復号化した結果を返します

  • DECODE(str,key): 暗号化された文字列 str を復号化するためのキーとして key を使用します

  • ENCRYPT (str, Salt): UNIXcrypt() 関数を使用し、キーワード Salt (キーと同様にパスワードを一意に決定できる文字列) を使用して文字列 str

  • ENCODE (str, key) を暗号化します。キーをパスワードとして使用します。キーは文字列 str を暗号化します。ENCODE() を呼び出した結果はバイナリ文字列であり、

  • MD5() は文字列 str の MD5 チェックサムを計算します。

  • PASSWORD(str) は、str の暗号化されたバージョンの文字列を返します。この暗号化プロセスは元に戻すことができず、UNIX パスワード暗号化プロセスとは異なるアルゴリズムを使用します。
  • SHA() は、パスワードのセキュア ハッシュ アルゴリズム (SHA) チェックサムを計算します。文字列 str
  • 例:
  • SELECT ENCRYPT('root','key');

    SELECT DECODE('xufeng','key'); 'key');
    #復号化をまとめます
    SELECT AES_ENCRYPT('root','key');
    SELECT MD5('123456) ');
    SELECT SHA( '123456');



    6. 制御フロー関数

  • MySQL には、条件付き演算のための 4 つの関数があり、開発者は一部のアプリケーション ビジネス ロジックをデータベースに変換できます。バックステージ。

MySQL 制御フロー関数:

  • CASE WHEN[test1] THEN [result1]…ELSE [デフォルト] END

    testN が true の場合は resultN を返し、それ以外の場合はデフォルトを返します

  • CASE [test ] WHEN[val1] THEN [result]…ELSE [default]END

  • testとvalNが等しい場合はresultNを返し、それ以外の場合はdefaultを返す

  • IF(test,t,f) testがtrueの場合はreturn t; それ以外の場合は f

  • IFNULL(arg1,arg2) を返します arg1 が空でない場合は arg1 を返し、それ以外の場合は arg2 を返します

  • NULLIF(arg1,arg2) arg1=arg2 の場合は NULL を返し、それ以外の場合は arg1 を返します

  • これらの関数の最初の関数は IFNULL() で、2 つのパラメーターを受け取り、最初のパラメーターを評価します。最初のパラメータが NULL でない場合、関数は最初のパラメータを呼び出し元に返します。NULL の場合は 2 番目のパラメータが返されます。

  • 例: SELECT IFNULL(1,2), IFNULL(NULL,10),IFNULL(4*NULL,'false'); NULLIF() 関数は、指定された 2 つのパラメーターが等しいかどうかを確認します。等しい場合は NULL が返され、等しくない場合は最初のパラメータが返されます。

  • 例: SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1);

  • および多くのによって提供されるIF()関数スクリプト言語 同様に、MySQL の IF() 関数にも単純な条件テストを作成できます。この関数には 3 つのパラメータがあり、式が true の場合は IF() が 2 番目のパラメータを返します。 , IF() は 3 番目のパラメータを返します。

  • 例: SELECTIF(1100,'true','false');

  • IF() 関数は、考えられる結果は 2 つあります。ただし、現実の世界では、条件付きテストで複数の分岐が必要になる場合があります。この場合、MySQL は CASE 関数を提供します。これは、PHP および Perl 言語の switch-case 条件付きルーチンと同じです。

  • CASE 関数の形式はやや複雑で、通常は次のようになります: CASE [評価される式] WHEN [val 1] THEN [結果 1] WHEN [val 2] THEN [結果 2] WHEN [val 3] THEN [result 3] ... WHEN [val n] THEN [result n] ELSE [default result] END

  • ここで、最初のパラメータは判定対象の値または式であり、次のパラメータは一連の WHEN- THEN ブロック。各ブロックの最初のパラメーターは比較する値を指定し、true の場合は結果が返されます。すべての WHEN-THEN ブロックは ELSE ブロックで終了し、END がすべての外側の CASE ブロックを終了する場合、先行する各ブロックが一致しない場合は、ELSE ブロックで指定されたデフォルトの結果が返されます。 ELSE ブロックが指定されておらず、すべての WHEN-THEN 比較が false の場合、MySQL は NULL を返します。

  • CASE 関数には、次のような別の構文があり、非常に便利に使用できることがあります: CASE WHEN [条件テスト 1] THEN [結果 1] WHEN [条件テスト 2] THEN [結果 2] ELSE [デフォルトの結果] END この場合、返される結果は、対応する条件テストが true かどうかによって異なります。

  • 例:

  • mysql>SELECT CASE 'green' WHEN 'red' THEN 'stop' WHEN 'green' THEN 'go' END;

  • SELECT CASE 9 WHEN 1 THEN 'a' WHEN 2 THEN 'b' ELSE 'N/A' END; SELECT CASE WHEN (2+2)=4 THEN 'OK' WHEN(2+2)<>4 THEN 'not OK' END ASSTATUS;

  • SELECT Name,IF((IsActive = 1),'Activated','Inactive') AS RESULT FROMUserLoginInfo; SELECT fname,lname,(math+sci+lit) AS total, CASE WHEN (math+sci+lit) < 50 THEN 'D' WHEN (math+sci+lit) BETWEEN 50 AND 150 THEN 'C' WHEN (math+sci+lit) BETWEEN 151 AND 250 THEN 'B' ELSE 'A' END AS Grade FROM マーク; ENCRYPT('sue','ts')=upass,'allow','deny') AS LoginResultFROM users WHERE uname = 'sue';#ログイン検証

7、書式設定関数

  • DATE_FORMAT(date ,fmt) 文字列 fmt に従って日付値をフォーマットします

  • FORMAT(x,y) x をカンマで区切られた一連の数値にフォーマットします。y は結果の小数点以下の桁数です

  • INET_ATON (ip ) IP アドレスの数値表現を返します

  • INET_NTOA(num) 数値で表される IP アドレスを返します

  • TIME_FORMAT(time,fmt) 文字列 fmt に従って時間値をフォーマットします
    最も単純なものは FORMAT です() 関数。大きな数値をカンマ区切りの人間が判読できるシーケンスにフォーマットできます。

  • 例:

  • SELECT FORMAT(34234.34323432,3);

  • SELECT DATE_FORMAT(NOW(),'%W,%D %M %Y %r');

  • SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');

  • SELECT DATE_FORMAT(19990330,'%Y-%m-%d');

  • SELECT DATE_FORMAT(NOW() ,'%h:%i %p');

  • SELECT INET_ATON('10.122.89.47');

  • SELECT INET_NTOA(175790383);

8. 型変換関数

  • のためにデータ型変換のために、MySQL は値を指定されたデータ型に変換できる CAST() 関数を提供します。

タイプには、BINARY、CHAR、DATE、TIME、DATETIME、SIGNED、UNSIGNEDが含まれます

  • 例:

SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0; 
SELECT ‘f’=BINARY ‘F’,’f’=CAST(‘F’ AS BINARY);
ログイン後にコピー

9. システム情報関数

  • DATABASE()は現在のデータベース名を返します

  • BENCHMARK(count,expr) 式 expr count 回繰り返します

  • CONNECTION_ID() 現在の顧客の接続 ID を返します

  • FOUND_ROWS() 最後の SELECT クエリによって取得された行の合計数を返します

  • USER () または SYSTEM_USER() は現在のログイン ユーザー名を返します

  • VERSION() は MySQL サーバーのバージョンを返します

  • 例:
    SELECT DATABASE(),VERSION(),USER(); SELECT BENCHMARK(9999999,LOG (RAND()*PI()));
    #この例では、MySQL は LOG(RAND()*PI()) 式を 9999999 回計算します。

上記は [MySQL 09] でよく使用される関数の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Centosはmysqlをインストールします Centosはmysqlをインストールします Apr 14, 2025 pm 08:09 PM

CentOSにMySQLをインストールするには、次の手順が含まれます。適切なMySQL Yumソースの追加。 yumを実行して、mysql-serverコマンドをインストールして、mysqlサーバーをインストールします。ルートユーザーパスワードの設定など、MySQL_SECURE_INSTALLATIONコマンドを使用して、セキュリティ設定を作成します。必要に応じてMySQL構成ファイルをカスタマイズします。 MySQLパラメーターを調整し、パフォーマンスのためにデータベースを最適化します。

MySQLの役割:Webアプリケーションのデータベース MySQLの役割:Webアプリケーションのデータベース Apr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

See all articles