Einfache Anwendungsbeispiele für benutzerdefinierte MySQL-Funktionen

Einfache Anwendungsbeispiele für benutzerdefinierte MySQL-Funktionen

Dieser Artikel veranschaulicht anhand von Beispielen die Verwendung benutzerdefinierter MySQL-Funktionen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Beginnen wir mit einem einfachen Beispiel. Erstellen Sie eine Funktion, um ein Datum im Format „2009-06-23 00:00:00“ in ein Datum im Format „2009 23. Juni 00:00“ umzuwandeln:

TRENNUNGSZEICHEN $$
Funktion löschen, wenn `sp_test`.`getdate`$$ vorhanden ist
ERSTELLEN SIE DIE FUNKTION `sp_test`.`getdate`(gdate datetime) GIBT varchar(255) ZURÜCK
BEGINNEN
DECLARE x VARCHAR(255) DEFAULT '';
SET x = date_format(gdate,'%Y Jahr %m Monat %d Tag %h Stunde %i Minute %s Sekunde');
RETURN x;
ENDE $$
TRENNUNGSZEICHEN ;

Analyse:

Der erste Satz definiert einen Endbezeichner. Da MySQL standardmäßig ein Semikolon als Endbezeichner von SQL-Anweisungen verwendet und ein Semikolon innerhalb des Funktionskörpers verwendet wird, steht es im Konflikt mit dem standardmäßigen SQL-Endbezeichner. Daher müssen Sie zuerst ein anderes Symbol als SQL-Endbezeichner definieren.

Der zweite Satz lautet: Wenn die Funktion bereits existiert, löschen Sie sie. Sp_test ist der Name der Datenbank, die Funktion ist mit der Datenbank verknüpft und getdate ist der Name der Funktion.

Der dritte Satz erstellt eine Funktion. Die Klammern enthalten den Namen und den Typ des Parameters. RETURNS definiert den Typ des Rückgabewerts der Funktion.

Der Funktionskörper muss zwischen BEGIN END platziert werden;

Mit DECLARE werden Variablen im Funktionskörper definiert. Hier wird eine Variable x definiert, die standardmäßig leer ist. Anschließend wird mit SET der Variable x ein Wert zugewiesen.

RETURN ist der Rückgabewert. Hier wird die Variable x zurückgegeben. Der Typ von x muss mit dem im dritten Satz definierten Rückgabetyp übereinstimmen.

Anruf:

Wählen Sie getdate('2009-06-23 00:00:00');

Gibt „2009-06-23 00:00:00“ zurück.

Branchenstruktur

TRENNUNGSZEICHEN $$
DROP-FUNKTION, WENN `sp_test`.`cutString` EXISTIERT $$
ERSTELLEN SIE DIE FUNKTION `sp_test`.`cutString`(s VARCHAR(255),n INT) GIBT varchar(255) ZURÜCK
BEGINNEN
WENN(ISNULL(s)) DANN ZURÜCKGEBEN '';
SONST WENN CHAR_LENGTH(s)<n, DANN RETURN s;
SONST WENN CHAR_LENGTH(S)=n, DANN RETURN „gleich“;
SONST RETURN CONCAT(LINKS(s,n),'...');
ENDE, WENN;
ENDE $$
TRENNUNGSZEICHEN ;

Analyse:

Dies ist eine Funktion zum Extrahieren einer Zeichenfolge. Sie hat zwei Parameter, einer ist eine Zeichenfolge s und der andere ist eine Zahl n. Sie behält die ersten n Bits der Zeichenfolge s. Wenn die Anzahl der Bits in der Zeichenfolge kleiner als n ist, gibt sie die Zeichenfolge s zurück. Wenn sie größer als n ist, gibt sie die ersten n Bits zurück, gefolgt von ...

Anruf:

Wählen Sie cutString('abcdefghijklmnopqrstuvwxyz',5);

Gibt „abced...“ zurück.

Schleifenstruktur

TRENNUNGSZEICHEN $$
Funktion löschen, wenn `sp_test`.`morestar` vorhanden ist$$
ERSTELLEN SIE DIE FUNKTION `sp_test`.`morestar`(n INT) GIBT TEXT ZURÜCK
BEGINNEN
DECLARE i INT DEFAULT 0;
DECLARE s TEXT DEFAULT '';
meineSchleife:LOOP
Setze i = i + 1;
SETZEN Sie s = CONCAT(s,'*');
WENN i > n, DANN VERLASSE myloop;
ENDE, WENN;
ENDE DER SCHLEIFE myloop;
RETURN s;
ENDE $$
TRENNUNGSZEICHEN ;

Analyse: Generieren Sie n *.

Anruf:

Wählen Sie mehr Stern (5);

zurückkehren '*****'

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen ansehen: „Zusammenfassung der allgemeinen MySQL-Funktionen“, „Zusammenfassung der Kenntnisse zu MySQL-Protokollvorgängen“, „Zusammenfassung der Kenntnisse zu MySQL-Transaktionsvorgängen“, „Zusammenfassung der Kenntnisse zu gespeicherten MySQL-Prozeduren“ und „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Beispiel für die benutzerdefinierte MySQL-Funktion CREATE FUNCTION
  • Ausführliche Erläuterung zum Erstellen benutzerdefinierter Funktionen und gespeicherter Prozeduren in MySQL
  • MySQL-Konvertierung chinesischer Zeichen in Pinyin, benutzerdefinierte Funktion und Anwendungsbeispiele (erster Buchstabe des ersten Wortes)
  • Eine kurze Diskussion über benutzerdefinierte MySQL-Funktionen
  • So verwenden Sie benutzerdefinierte Funktionen zum Extrahieren von Zahlen aus Zeichenfolgen in MySQL
  • Probleme beim Erstellen benutzerdefinierter Funktionen in MySQL
  • Detaillierte Erläuterung der Definition und Verwendung von in MySQL gespeicherten Funktionen (benutzerdefinierten Funktionen)
  • MySQL-Benutzerdefinierte Funktion zum Bestimmen, ob es sich um einen positiven Ganzzahl-Beispielcode handelt
  • Detaillierte Erläuterung der benutzerdefinierten MySQL-Funktionen und gespeicherten Prozeduren
  • MySQL verwendet benutzerdefinierte Funktionen, um die übergeordnete ID oder untergeordnete ID rekursiv abzufragen
  • Analyse des Prinzips und der Verwendung von MySQL-Benutzerdefinierten Funktionen

<<:  Diagramm des Hyperledger Fabric 1.4-Umgebungskonstruktionsprozesses unter Windows 10

>>:  Detaillierte Erklärung des strikten Modus in JavaScript

Artikel empfehlen

Fehlerbehebung bei MySQL-Datenverlust

Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...

Erfahrung im Webdesign

<br />Der Autor war früher ein Anfänger im W...

MySQL 5.6.28 Installations- und Konfigurations-Tutorial unter Linux (Ubuntu)

mysql5.6.28 Installations- und Konfigurationsmeth...

getdata Tabelle Tabellendaten Join MySQL-Methode

öffentliche Funktion json_product_list($where, $o...

So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

Dieser Artikel beschreibt, wie man PHP und Nginx ...

Dreißig HTML-Codierungsrichtlinien für Anfänger

1. HTML-Tags immer schließen Im Quellcode der vor...

Allgemeine Benennungsregeln für CSS-Klassen und IDs

Öffentlicher Name der Seite: #wrapper - - Der äuß...

Eine kurze Analyse von MySQL-Sperren und -Transaktionen

MySQL selbst wurde auf Basis des Dateisystems ent...

Ein grafisches Tutorial zur Installation von MySQL unter Windows

Zusammenfassung: Dieser Artikel erläutert hauptsä...

Implementierung des HTML-Gleit- und Schwebeball-Menüeffekts

CSS-Stile html,Text{ Breite: 100 %; Höhe: 100%; R...

Vue implementiert einen Login-Verifizierungscode

In diesem Artikelbeispiel wird der spezifische Co...