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:
|
<<: Diagramm des Hyperledger Fabric 1.4-Umgebungskonstruktionsprozesses unter Windows 10
>>: Detaillierte Erklärung des strikten Modus in JavaScript
Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...
Erstellen Sie einen MySQL-Benutzer und autorisier...
<br />Der Autor war früher ein Anfänger im W...
mysql5.6.28 Installations- und Konfigurationsmeth...
öffentliche Funktion json_product_list($where, $o...
Inhaltsverzeichnis Was sind flaches und tiefes Kl...
Dieser Artikel beschreibt, wie man PHP und Nginx ...
1. JDK installieren Überprüfen Sie die Betriebsda...
1. HTML-Tags immer schließen Im Quellcode der vor...
Öffentlicher Name der Seite: #wrapper - - Der äuß...
MySQL selbst wurde auf Basis des Dateisystems ent...
Anweisung 1: <link rel="Shortcut-Symbol&qu...
Zusammenfassung: Dieser Artikel erläutert hauptsä...
CSS-Stile html,Text{ Breite: 100 %; Höhe: 100%; R...
In diesem Artikelbeispiel wird der spezifische Co...