MySQL: MySQL 関数

MySQL: MySQL 関数

1. 組み込み関数

1. 数学関数

ランド()丸め(数値) ceil(数値)階数(数値)
ランダム丸め切り上げする切り捨て

2. 文字列関数

length() バイト長
char_length() 文字の長さ

ucase() 大文字
lcase() 小文字

concat(character,...,character n)は文字列を連結します

replace(文字列, 古い文字, 新しい文字) 文字列の置換

文字列の傍受
左 (文字列、切り捨てられた長さ)
右(文字列、切り捨てられた長さ)
substring(文字列、開始位置、切り捨て長さ) #開始位置を含む

mysql> 左を選択します('123456',4);
+------------------+
| 左('123456',4) |
+------------------+
| 1234 |
+------------------+
セット内の 1 行 (0.00 秒)

mysql> 右を選択します('123456',4);
+-------------------+
| 右('123456',4) |
+-------------------+
| 3456 |
+-------------------+
セット内の 1 行 (0.00 秒)

mysql> 部分文字列を選択します('123456',2,4); 
+-------------------------+
| 部分文字列('123456',2,4) |
+-------------------------+
| 2345 |
+-------------------------+
セット内の 1 行 (0.00 秒)

3. 日付関数

今() unix_timestamp() from_unixtime()
現在の時刻タイムスタンプタイムスタンプのフォーマット

mysql> now() を選択します。
+---------------------+
| 今() |
+---------------------+
| 2019-03-16 14:55:42 |
+---------------------+
セット内の 1 行 (0.00 秒)

mysql> unix_timestamp() を選択します。
+------------------+
| unix_timestamp() |
+------------------+
|1552719356 |
+------------------+
セット内の 1 行 (0.00 秒)

mysql> from_unixtime(1552719356) を選択します。
+---------------------------+
| from_unixtime(1552719356) |
+---------------------------+
| 2019-03-16 14:55:56 |
+---------------------------+
セット内の 1 行 (0.00 秒)

年()月()日()時間()分() 2番目()
時間ポイント2番

mysql>選択 
 -> year(now()) を 'year' として、
 -> month(now()) を 'month' として、
 -> day(now()) を '日' として、
 -> hour(now()) を 'hour' として、
 -> minute(now()) を '分' として、
 -> second(now()) を 'seconds' として扱います。
+------+------+------+------+------+------+
| 年| 月| 日| 時間| 分| 秒|
+------+------+------+------+------+------+
| 2019 | 3 | 16 | 14 | 59 | 12 |
+------+------+------+------+------+------+

4. 暗号化機能

md5(データ)
パスワード(データ)

5. 条件判定機能

1). 構文: if (data, value1, value2) #指定されたデータが真かどうかを判断します: true - value1、false - value2

mysql> if(null,1,2); を選択します。
+--------------+
| if(null,1,2) |
+--------------+
| 2 |
+--------------+
セット内の 1 行 (0.00 秒)

mysql> if(1,0,2); を選択します。
+-----------+
| if(1,0,2) |
+-----------+
| 0 |
+-----------+
セット内の 1 行 (0.00 秒)

2) 構文: IFNULL(データ, 値2) #指定されたデータがnullかどうかを判断します: null-値2、非null-それ自身

mysql> ifnull(0,123) を選択します。
+---------------+
| ifnull(0,123) |
+---------------+
| 0 |
+---------------+
セット内の 1 行 (0.00 秒)

mysql> ifnull('a',123) を選択します。
+-----------------+
| ifnull('a',123) |
+-----------------+
| ア |
+-----------------+
セット内の 1 行 (0.00 秒)

2. カスタム関数

文法:

#終了文字の区切り文字を変更する //
関数関数名(パラメータ名型、...、パラメータ名n型n)を作成します。戻り値データ型の開始を返します。
#SQL ステートメントは戻り値を返します。
終わり //
区切り文字 ;

#select関数名()を呼び出します。

「hello world」を出力します(パラメータなしの関数)

#関数が存在するかどうかを判断し、存在する場合は削除します。drop function if exists f1;

区切り文字 //
関数 f1() を作成すると、varchar(30) が返されます。
始める
 'hello world' を返します。
終わり //
区切り文字 ;

f1() を選択します。

+-------------+
| f1() |
+-------------+
| こんにちは世界 |
+-------------+

2 つの整数を合計に渡す (パラメータ付き関数)

f2 が存在する場合は関数を削除します。

区切り文字 //

関数 f2(num1 int, num2 int) を作成し、int を返します。
始める
  num1 + num2 を返します。
終わり //
区切り文字 ;

f2(8, 2)を選択します。

+----------+
| f2(8, 2) |
+----------+
| 10 |
+----------+

3. カスタム関数関連の構文

すべての関数を表示: show function status\G #出力が非常に大きい

関数を削除します: drop function [存在する場合] 関数名;

4. ストアドプロシージャと関数の違い

ストアド プロシージャは複数の値を返すことができますが、カスタム関数は 1 つの値のみを返すことができます。

ストアド プロシージャは通常は独立して実行されますが、関数は他の SQL ステートメントの一部として使用されることがよくあります。

上記は私が皆さんに紹介した内容です: Database_MySQL: MySQL 関数の詳細な説明と統合。皆さんのお役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • SQLと各種NoSQLデータベースの使用シナリオの説明
  • データベース言語分類DDL、DCL、DMLの詳しい説明
  • MySQL データベースの型変換のための CAST 関数と CONVERT 関数の説明
  • MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎
  • SQL SERVER データベースのバックアップ コードの例
  • PostgreSQL データベースのウィンドウ関数の構文と使用法
  • データベースの冗長フィールドを合理的に使用する方法
  • MySQL マスター/スレーブ データベース同期構成と一般的なエラー
  • PHP シングルトン モード データベース接続クラスとページ静的実装メソッド
  • 数千万のデータベースクエリでクエリ効率を向上させるにはどうすればよいでしょうか?

<<:  win10にUbuntu18デュアルシステムをインストールするとmmx64.efiが見つからないという問題が発生する

>>:  Vueはページを更新するために3つの方法を使用する

推薦する

スクラッチ宝くじの例を実現する JavaScript キャンバス

この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

Webデザイナーの成長体験

<br />まず最初に、私はこのグループの中では完全な新人だということを述べなければなり...

ウェブページ作成に役立つコード

<br />ホームページの右側にあるスクロールバーを削除するにはどうすればよいですか? ...

Docker+K8S クラスタ環境構築と分散アプリケーション展開

1. Dockerをインストールする yumでdockerをインストール #サービスを開始する sy...

ウェブサイトのデザインでは色の階層感覚に注意を払う必要があります

最近、私はデザインには階層感覚が必要だと言っています。この階層感覚には、色の重ね合わせや要素の重ね合...

MySQL累積計算実装方法の詳しい説明

目次序文需要分析MySQL ユーザー変数累積計算にMysqlユーザー変数を使用する要約するこの記事で...

MySQL ストアド プロシージャと共通関数のコード分析

mysql ストアド プロシージャの概念:特定のタスク (クエリと更新) を実行できる、データベース...

yum を使用して rpm と関連する依存関係をダウンロードして、docker をオフラインでインストールします。

yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...

Win10でのJDKのインストールと環境変数の設定に関する詳細なチュートリアル

目次序文1. 準備2. インストール3. 環境変数を設定する1. 「新規」をクリックすると、ポップア...

MySQL はデータベースを動的に更新します スクリプト例の説明

具体的なupgradeスクリプトは次のとおりです。インデックスを動的に削除する アップグレードが存在...

MySQL における UNION と UNION ALL の基本的な使い方

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

モバイルデバイス用のメタタグ設定の完全なリスト

序文以前フロントエンドを勉強していたとき、メタタグに対する私の理解はこの一文だけでした。 <メ...

Vue+express+Socketでチャット機能を実現

この記事では、チャット機能を実現するためのVue+express+Socketの具体的なコードを参考...

ElementUI コンポーネント el-dropdown (落とし穴)

選択して変更: クリックすると現在の値が表示され、ページ UI が表示され、CSS スタイルが変更さ...