この記事では、例を使用して MySQL カスタム関数の使用方法を説明します。ご参考までに、詳細は以下の通りです。 まずは簡単なものから始めましょう。「2009-06-23 00:00:00」形式の日付時刻を「2009 June 23, 00:00」形式の日付時刻に変換する関数を作成します。 区切り文字 $$ `sp_test`.`getdate`$$ が存在する場合は関数を削除します CREATE FUNCTION `sp_test`.`getdate`(gdate datetime) はvarchar(255)を返します。 始める x VARCHAR(255) DEFAULT '' を宣言します。 SET x = date_format(gdate,'%Y 年 %m 月 %d 日 %h 時間 %i 分 %s 秒'); x を返します。 終了 $$ 区切り文字 ; 分析: 最初の文は終了識別子を定義します。MySQL はデフォルトで SQL 文の終了識別子としてセミコロンを使用しますが、関数本体内でセミコロンが使用されると、デフォルトの SQL 終了識別子と競合します。そのため、最初に別のシンボルを SQL 終了識別子として定義する必要があります。 2 番目の文は、関数が既に存在する場合は削除し、sp_test はデータベースの名前、関数はデータベースに関連付けられ、getdate は関数の名前です。 3 番目の文は関数を作成します。括弧には、パラメータの名前と型が含まれます。RETURNS は、関数の戻り値の型を定義します。 関数本体は BEGIN END の間に配置する必要があります。 DECLARE は、関数本体で変数を定義するために使用されます。ここでは、デフォルトでは空である変数 x が定義されています。次に、SET を使用して変数 x に値を割り当てます。 RETURN は戻り値です。ここでは、変数 x が返されます。x の型は、3 番目の文で定義された戻り値の型と一致している必要があります。 電話: getdate('2009-06-23 00:00:00')を選択します。 '2009-06-23 00:00:00'を返します 支店構造 区切り文字 $$ `sp_test`.`cutString` が存在する場合は関数を削除します $$ CREATE FUNCTION `sp_test`.`cutString`(s VARCHAR(255),n INT) 戻り値 varchar(255) 始める IF(ISNULL(s)) の場合は '' を返します。 ELSEIF CHAR_LENGTH(s)<n の場合、s を返します。 ELSEIF CHAR_LENGTH(S)=n の場合、'equal' を返します。 それ以外の場合は、CONCAT(LEFT(s,n),'...') を返します。 終了の場合; 終了 $$ 区切り文字 ; 分析: これは文字列を抽出する関数です。2 つのパラメータがあり、1 つは文字列 s、もう 1 つは数値 n です。文字列 s の最初の n ビットを保持します。文字列のビット数が n より少ない場合は、文字列 s を返します。n より大きい場合は、最初の n ビットとそれに続く... を返します。 電話: SELECT cutString('abcdefghijklmnopqrstuvwxyz',5); 'abced...'を返します ループ構造 区切り文字 $$ `sp_test`.`morestar`$$ が存在する場合は関数を削除します CREATE FUNCTION `sp_test`.`morestar`(n INT) はtextを返します 始める i INT DEFAULT 0 を宣言します。 DECLARE s TEXT DEFAULT ''; myloop:ループ i=i+1 を設定します。 SET s = CONCAT(s,'*'); i > n の場合、myloop を終了します。 終了の場合; ループ終了 myloop; 戻り値: 終了 $$ 区切り文字 ; 分析: n * を生成します。 電話: morestar(5)を選択します。 戻る'*****' MySQL 関連のコンテンツに興味のある読者は、次のトピックを確認してください: 「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Windows 10 での Hyperledger Fabric 1.4 環境構築プロセスの図
>>: JavaScript の Strict モードの詳細な説明
01 並列レプリケーションの概念MySQL のマスター スレーブ レプリケーション アーキテクチャで...
目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...
みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...
以下に示すように、あなたならどのようにそれを達成しますか: 通常、フォントアイコンを使用して中央にプ...
Linux インストール JDK1.8 手順1. CentOS に独自の openJDK があるかど...
HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...
目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...
前面に書かれたMySQL をアップグレードする方法には、インプレース アップグレードと論理アップグレ...
この記事の例では、画像切り替え効果を実現するためのVueの具体的なコードを参考までに共有しています。...
会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い...
この記事では、アニメーション効果の非表示と表示を実現するためのJQueryの具体的なコードを参考まで...
目次MySQL マルチバージョン同時実行1. マルチバージョン同時実行制御1. 一貫した読み取り2....
目次1. はじめに2. Vue JS のパフォーマンス最適化が必要な理由は何ですか? 3. Vueの...
JSON データを美しいインデント形式で表示するには、最も単純な JSON.stringify 関...
この記事で説明する等高レイアウトでは、純粋な CSS を使用して、要素の高さを手動で設定することなく...