Sql fügt Zeichen am Anfang einer Zeichenfolge hinzu. Über SQL-String-Funktionen oder wie man Text in einer MySQL-Datenbank manipuliert

Die grundlegenden Zeichenfolgenfunktionen und -operatoren bieten eine Vielzahl von Optionen und geben als Ergebnis einen Zeichenfolgenwert zurück. Einige String-Funktionen sind zweielementig, was bedeutet, dass sie mit zwei Strings gleichzeitig arbeiten können. Der SQL 2003-Standard unterstützt Zeichenfolgenfunktionen.

Verkettungsoperator

SQL 2003 definiert den Verkettungsoperator (||), der zwei separate Zeichenfolgen zu einem einzigen Zeichenfolgenwert verkettet.

DB2-Plattform

Die DB2-Plattform unterstützt den Verkettungsoperator von SQL 2003 sowie sein Synonym, die CONCAT-Funktion.

MySQL-Plattform

Die MySQL-Plattform unterstützt die Funktion CONCATQ, ein Synonym für den Verkettungsoperator von SQL 2003.

Oracle und PostgreSQL

PostgreSQL- und Oracle-Plattformen unterstützen den Verkettungsoperator für doppelte vertikale Balken von SQL 2003.

SQL Server-Plattform

Plattform SQL Server verwendet das Pluszeichen (+) als Synonym für den Verkettungsoperator von SQL 2003. SQL Server hat Systemparameter CONCAT_NULL_YIELDS_NULL, das steuert, wie sich das System verhält, wenn NULL-Werte gefunden werden, wenn Zeichenfolgenwerte verkettet werden.

/* SQL 2003-Syntax */

Zeichenkette || Zeichenfolge2 || Zeichenfolge3

Zeichenfolge1 Zeichenfolge2 Zeichenfolge3

/* Für MySQL */

CONCAT("String1", "String2")

Wenn einer der verketteten Werte null ist, wird eine leere Zeichenfolge zurückgegeben. Wenn ein numerischer Wert an der Verkettung beteiligt ist, wird er außerdem implizit in einen Zeichenfolgenwert konvertiert.

SELECT CONCAT("Meine", "bologna", "hat", "einen", "erster", "name…");

Meine Bologna hat einen Vornamen

SELECT CONCAT("Meine", NULL, "hat", "erste", "name…");

KONVERTIEREN und ÜBERSETZEN

Die CONVERT-Funktion ändert die Anzeige einer Zeichenfolge innerhalb eines Zeichensatzes und einer Sortierung. Beispielsweise kann die CONVERT-Funktion verwendet werden, um die Anzahl der Bits pro Zeichen zu ändern.

Die TRANSLATE-Funktion übersetzt einen Zeichenfolgenwert von einem Zeichensatz in einen anderen. Beispielsweise kann die TRANSLATE-Funktion verwendet werden, um einen Wert aus dem englischen Zeichensatz in den Zeichensatz Kanji (Japanisch) oder Kyrillisch (Russisch) zu konvertieren. Die Übersetzung selbst muss bereits vorhanden sein, entweder standardmäßig oder mit dem Befehl CREATE TRANSLATION erstellt.

SQL 2003-Syntax

CONVERT (Zeichenwert USING char_convert_name)

ÜBERSETZEN(Zeichenwert USING Übersetzungsname)

Die CONVERT-Funktion konvertiert einen Zeichenwert in den Zeichensatz mit dem im Parameter character_conversion_name angegebenen Namen. Die TRANSLATE-Funktion konvertiert einen Zeichenwert in den in translation_name angegebenen Zeichensatz.

Von den betrachteten Plattformen unterstützt nur Oracle die Funktionen CONVERT und TRANSLATE, wie sie im Standard von SQL 2003 definiert sind. Die Implementierung der Funktion TRANSLATE durch Oracle ist SQL 2003 sehr ähnlich, aber nicht identisch. In dieser Implementierung akzeptiert die Funktion nur zwei Argumente und übersetzt nur zwischen dem Zeichensatz der Datenbank und dem Zeichensatz mit aktiviertem Gebietsschema.

Die MySQL-Implementierung der CONV-Funktion konvertiert nur Zahlen von einer Basis in eine andere. In SQL Server ist die Implementierung der CONVERT-Funktion jedoch sehr umfangreich und ändert den Datentyp eines Ausdrucks, unterscheidet sich aber in allen anderen Aspekten von der Standard-CONVERT-Funktion von SQL 2003. Die PostgreSQL-Plattform unterstützt die CONVERT-Funktion nicht, und die TRANSLATE-Funktionsimplementierung wandelt alle Vorkommen einer Zeichenkette in eine beliebige andere Zeichenkette um.

DB2

Die DB2-Plattform unterstützt die CONVERT-Funktion nicht und die Unterstützung für die TRANSLATE-Funktion ist nicht ANSI-kompatibel. Die TRANSLATE-Funktion wird zum Konvertieren von Teilzeichenfolgen verwendet und war in der Vergangenheit ein Synonym für die UPPER-Funktion, da die UPPER-Funktion erst kürzlich zu DB2 hinzugefügt wurde. Wenn die Funktion TRANSLATE in DB2 mit einem Ausdrucksargument aus einem einzelnen Zeichen verwendet wird, ist das Ergebnis dieselbe Zeichenfolge, die in Großbuchstaben umgewandelt wurde. Wenn die Funktion mit mehreren Argumenten verwendet wird, z. B. TRANSLATE(ucmo4HUK, replace, match), konvertiert die Funktion alle Zeichen in der Quelle, die auch im match-Parameter enthalten sind. Jedes Zeichen in der Quelle, das sich an derselben Position wie der Übereinstimmungsparameter befindet, wird durch das Zeichen aus dem Ersetzungsparameter ersetzt. Unten ist ein Beispiel.

TRANSLATE("Hallo Welt!") "HALLO; WELT!"

TRANSLATE("Hallo Welt1", "wZ", "1W") "Hewwo, Zorwd1

MySQL

Die MySQL-Plattform unterstützt die Funktionen TRANSLATE und CONVERT nicht.

Orakel

Die Oracle-Plattform unterstützt die folgende Syntax für die Funktionen CONVERT und TRANSLATE.

In der Oracle-Implementierung gibt die CONVERT-Funktion den in target_character_set konvertierten Zeichenwerttext zurück. Der Parameter character_value ist die zu konvertierende Zeichenfolge, der Parameter target_charset ist der Name des Zeichensatzes, in den die Zeichenfolge konvertiert werden soll, und der Parameter source_charset ist der Zeichensatz, in dem der Zeichenfolgenwert ursprünglich gespeichert wurde.

Die TRANSLATE-Funktion in Oracle entspricht der ANSI-Syntax, aber Sie können nur einen von zwei Zeichensätzen auswählen: den Datenbankzeichensatz (CHARJCS) und den Zeichensatz für die Unterstützung der Landessprache (NCHARJZS).

Oracle unterstützt auch eine andere Funktion, die ebenfalls TRANSLATE heißt (ohne Verwendung von Stichwort VERWENDUNG). Diese TRANSLATE-Funktion hat nichts mit der Zeichensatzkonvertierung zu tun.

Die Namen der Ziel- und Quellzeichensätze können entweder als String-Konstanten oder als Referenz auf eine Tabellenspalte übergeben werden. Beachten Sie, dass Sie beim Konvertieren einer Zeichenfolge in einen Zeichensatz, der nicht alle konvertierten Zeichen anzeigt, Platzhalterzeichen ersetzen können.

Oracle unterstützt mehrere gängige Zeichensätze, darunter US7ASCII, WE8DECDEC. WE8HP, F7DEC, WE8EBCDIC500, WE8PC850u WE8ISO8859PI. Zum Beispiel:

SELECT CONVERT("Gro2", "US7ASCII", "WE8HP") VON DUAL;

PostgreSQL

Die PostgreSQL-Plattform unterstützt die ANSI CONVERT-Anweisung, und Konvertierungen können hier mit dem Befehl CREATE CONVERSION definiert werden. Die PostgreSQL-Implementierung der TRANSLATE-Funktion bietet einen erweiterten Satz von Funktionen, mit denen Sie beliebigen Text in anderen Text innerhalb einer angegebenen Zeichenfolge konvertieren können.

ÜBERSETZEN (Zeichenkette, from_text, to_text)

Hier sind einige Beispiele:

SELECT TRANSLATE("12345abcde", "5a", "XX"); "1234XXbcde" SELECT TRANSLATE(title, "Computer", "PC") FROM titles WHERE type="Personal_computer" SELECT CONVERT("PostgreSQL" USING iso_8859_1_to_utf_8) "PostgreSQL"

SQL Server

Die SQL Server-Plattform unterstützt die TRANSLATE-Funktion nicht. Die SQL Server-Implementierung der CONVERT-Funktion folgt nicht dem Standard von SQL 2003. Diese Funktion entspricht der CAST-Funktion in SQL Server.

CONVERT (Datentyp[(Länge) | (Präzision, Maßstab)], Ausdruck, Stil])

Der Klauselstil wird verwendet, um das Datumskonvertierungsformat zu definieren. Hinter Weitere Informationen Weitere Informationen finden Sie in der SQL Server-Dokumentation. Unten ist ein Beispiel.

SELECT title, CONVERT(char(7), ytd_sales) FROM titles ORDER BY title GO

In diesem Teil werden wir über die Funktionen der Arbeit mit Textinformationen sprechen, die in Abfragen und verwendet werden können Programmcode in PL/SQL.

Funktion CONCAT(strl, str2)

Diese Funktion verkettet die Strings strl und str2. Wenn eines der Argumente NULL ist, wird es als leere Zeichenfolge behandelt. Wenn beide Argumente NULL sind, gibt die Funktion NULL zurück. Beispiel:

SELECT CONCAT("Priester\"hatte einen Hund") x1,
CONCATCTest" , NULL) x2,
CONCAT(NULL, "Test") x3,
CONCAT(NULL, NULL) x4
VON dual

Der Papst hatte einen Hund

Für die Zeichenfolgenverkettung unterstützt Oracle einen speziellen Verkettungsoperator „||“, der ähnlich wie die CONCAT-Funktion funktioniert, zum Beispiel:

SELECT CONCAT("Priester\"hatte einen Hund") x1, "Priester" || "hatte einen Hund" x2
VON dual

Verwechseln Sie nicht den Verkettungsoperator „||“, der dem Aufruf der CONCAT-Funktion entspricht, und den „+“-Operator, der bei arithmetischen Operationen verwendet wird. Bei Oracle ist es so verschiedene Operatoren, aber aufgrund der automatischen Typumwandlung sind subtile Fehler möglich, zum Beispiel:

WÄHLEN Sie „5“ + „3“ x1
VON dual

In diesem Fall wird der numerische Wert 8 zurückgegeben, nicht Textzeichenfolge"53". Dies liegt daran, dass Oracle, nachdem es die arithmetische Operation "+" erkannt hat, automatisch versucht, die Argumente in den Typ NUMBER umzuwandeln.

LOWER(str)-Funktion

Die Funktion LOWER wandelt alle Zeichen der Zeichenkette str in Kleinbuchstaben um. Beispiel:

SELECT LOWER("TeXt-DATEN") X
VON dual

FunktionOBERE(str)

Die UPPER-Funktion wandelt alle Zeichen in der Zeichenfolge str in Großbuchstaben um. Beispiel:

SELECT UPPER("TeXt-DATEN") X
VON dual

INITCAP(str)-Funktion

Gibt den String str mit den Anfangsbuchstaben aller in Großbuchstaben umgewandelten Wörter zurück. Die Funktion ist nützlich, um beim Erstellen von Berichten den vollständigen Namen zu formatieren. Beispiel:

SELECT INITCAPCIvanov Petr Sidorovich") X
VON dual

FunktionenLTRIM(str[,set])UndRTRIM(str[,set])

Die LTRIM-Funktion entfernt alle Zeichen vom Anfang einer Zeichenfolge bis zum ersten Zeichen, das nicht im festgelegten Zeichensatz enthalten ist. Standardmäßig besteht set aus einem einzelnen Leerzeichen und kann weggelassen werden. Die RTRIM-Funktion ähnelt LTRIM, entfernt jedoch Zeichen vom Ende der Zeichenfolge. Schauen wir uns ein paar Beispiele an:

SELECT LTRIM(" TeXt DATA") X1,
LTRIM(" _ # TeXt-DATEN", " #_") X2,
LTRIM(" 1234567890 TeXt DATA", " 1234567890") X3
VON dual

REPLACE(str, search_str, [,replace_str])-Funktion

Die REPLACE-Funktion sucht nach dem Muster search_str in der Zeichenfolge str und ersetzt jedes Vorkommen durch replace_str. Standardmäßig ist replace_str die leere Zeichenfolge, sodass beim Aufrufen der REPLACE-Funktion mit zwei Argumenten alle gefundenen Vorkommen entfernt werden. Bei der Suche nach einem Teilstring wird zwischen Groß- und Kleinschreibung unterschieden. Beispiel:

SELECT REPLACE("Priester hatte einen Hund", "Hund", "Katze") x1,
REPLACE("Der Priester hatte einen wütenden Hund", "böse") x2,
REPLACE("Priester hatte einen Hund", "Hund", "Katze") x3
VON dual

Der Papst hatte eine Katze

Der Papst hatte einen Hund

Der Papst hatte einen Hund

Funktion TRANSLATE(str, from_mask, to_mask)

Die TRANSLATE-Funktion analysiert die Zeichenfolge str und ersetzt alle Zeichen in der Zeichenfolge from_mask durch die entsprechenden Zeichen aus to_mask. Damit die Funktion richtig funktioniert, müssen die Strings from_mask und to_mask dieselbe Länge haben, oder der String from_mask muss länger als to_mask sein. Wenn from_mask länger als to_mask ist und während der Verarbeitung des Strings str Zeichen gefunden werden, die mit einem der Zeichen aus from_mask übereinstimmen, und es keine Übereinstimmung für sie in to_mask gibt, werden diese Zeichen aus dem String str entfernt. Wenn Sie from_mask oder to_mask gleich NULL übergeben, gibt die Funktion NULL zurück. Beim Vergleich wird zwischen Groß- und Kleinschreibung unterschieden.

SELECT TRANSLATE("Test 12345", "e2\ "E!") x1,
TRANSLATE("Test 12345", "e234", "E") x2
VON dual

Diese Funktion ist praktisch, um eine Reihe praktischer Probleme im Zusammenhang mit der Zeichenkonvertierung oder der Suche nach verbotenen Zeichen zu lösen. Beispielsweise müssen Sie ein Passwort analysieren und herausfinden, ob es mindestens eine Zahl enthält. Die Implementierung dieser Prüfung mit TRANSLATE sieht folgendermaßen aus:

WENN ÜBERSETZEN(PassWd, "0123456789", "*") = PassWd DANN
ADD_ERR0R("Fehler - Passwort muss mindestens eine Zahl enthalten!");
RÜCKKEHR 1;
ENDE WENN;

Ein weiteres Beispiel: Eine Zahl wird für die Umwandlung in NUMBER vorbereitet. Sie müssen die Dezimaltrennzeichen "," und "." ersetzen. An "." und Leerzeichen entfernen. Die Implementierung dieser Operation mit TRANSLATE sieht folgendermaßen aus:

SELECT TRANSLATE("123 455.23", "., ", " . . ") x1,
TRANSLATE("-123 455.23", "., ", " . . ") x2
VON dual

Funktion SUBSTR(str, m[,n])

Die Funktion SUBSTR gibt ein Fragment der Zeichenfolge str zurück, beginnend bei Zeichen m mit einer Länge von n Zeichen. Die Länge kann weggelassen werden - in diesem Fall wird ein String vom Zeichen m bis zum Ende des Strings str zurückgegeben. Die Zeichen werden ab 1 nummeriert. Wenn Sie m = 0 angeben, wird trotzdem beim ersten Zeichen kopiert. Wenn Sie einen negativen Wert für m angeben, werden die Zeichen vom Ende der Zeichenfolge und nicht vom Anfang an gezählt. Die Angabe von m Werten, die größer sind als die Länge des Strings in absoluten Werten, führt dazu, dass die Funktion NULL zurückgibt.

SELECT SUBSTR("Priester hatte einen Hund", 13) x1,
SUBSTR("Der Priester hatte einen Hund", -6) x2,
SUBSTR("Dies ist ein Testtext", 5, 8) x3,
SUBSTR("Der Priester hatte einen Hund", 150) x4
VON dual

Text

Funktion INSTR(str, search_str [,n[,m]])

Die INSTR-Funktion gibt die Position des ersten Zeichens m-ro des Fragments der Zeichenfolge str zurück, das mit der Zeichenfolge search_str übereinstimmt. Der Vergleich erfolgt ab dem n-ten Zeichen des Strings str, Groß- und Kleinschreibung wird beachtet. Standardmäßig ist n = m = 1, d. h. die Suche wird vom Anfang der Zeichenfolge durchgeführt und die Position des ersten gefundenen Fragments zurückgegeben. Wenn die Suche fehlschlägt, gibt die Funktion 0 zurück.

SELECT INSTR("y butt was a dog", "dog") x1,
INSTR("y butt was a dog", "cat") x2,
INSTR("Dies ist Text zur Demonstration der Textsuche", "text", 1, 2) x3,
INSTR('11111000000001", "1", 7) x4
VON dual

Bei dieser Funktion, wie auch bei allen anderen in Oracle, werden häufig typische Fehler im Umgang mit dem NULL-Wert gemacht. Wenn str=NULL, dann gibt die Funktion NULL zurück, nicht Null! Dies muss bei der Konstruktion verschiedener Bedingungen berücksichtigt werden. Dieses PL/SQL-Programmfragment berücksichtigt beispielsweise diese Funktion nicht:

WENN INSTR(TXT_VAR,"*") = 0 DANN
...
ENDEWENN;

In diesem Fall wäre es richtig, so zu schreiben:

WENN NVL(INSTR(TXT_VAR, "*"), 0) = 0 DANN
...
ENDE WENN;

Funktionen LENGTH(str) und LENGTHB(str).

Die Funktion LENGTH(str) gibt die Länge der Zeichenfolge str in Zeichen zurück. Für eine leere Zeichenfolge und einen NULL-Wert gibt die Funktion NULL zurück, daher wird empfohlen, NVL mit dieser Funktion zu verwenden.

SELECT LENGTH("Der Priester hatte einen Hund") x1,
LÄNGE ("") x2,
LÄNGE(NULL) x3,
NVL(LÄNGE(""), 0) x4
VON dual

Die LENGTHB-Funktion ähnelt der LENGTH-Funktion, gibt jedoch die Länge der Zeichenfolge in Bytes zurück.

ASCII(str)-Funktion

Gibt den ASCII-Code des ersten Zeichens von str zurück, wenn ASCII-Codierung verwendet wird, und den Wert des ersten Bytes eines Multibyte-Zeichens, wenn Multibyte-Zeichencodierung verwendet wird. Beispiel:

WÄHLEN Sie ASCII ("Test") x1 VON dual

CHR(n)-Funktion

Gibt ein Zeichen anhand seines Codes zurück.

CHR(64) x1 WÄHLEN
VON dual

Zu anderen. Es hat die folgende Syntax:

CONV(Zahl,N,M)

Streit Nummer ist im Zahlensystem mit der Basis N. Die Funktion wandelt es in das Zahlensystem mit der Basis M um und gibt den Wert als String zurück.

Beispiel 1

Die folgende Abfrage wandelt die Zahl 2 von dezimal in binär um:

WÄHLEN SIE KONV(2,10,2);

Ergebnis: 10

Um die Zahl 2E von hexadezimal in dezimal umzuwandeln, ist eine Abfrage erforderlich:

WÄHLE CONV("2E",16,10);

Ergebnis: 46

Funktion VERKOHLEN()übersetzt ASCII-Code in Strings. Es hat die folgende Syntax:

ZEICHEN(n1,n2,n3..)

Beispiel 2

ZEICHEN AUSWÄHLEN (83,81,76);

Ergebnis: SQL

Die folgenden Funktionen geben die Länge eines Strings zurück:

  • LÄNGE (Zeichenfolge);
  • OCTET_LENGTH (Zeichenfolge);
  • CHAR_LENGTH (Zeichenfolge);
  • CHARACTER_LENGTH(Zeichenfolge).

Beispiel 3

LÄNGE AUSWÄHLEN("MySQL");

Ergebnis: 5

Manchmal ein nützliches Feature BIT_LENGTH(Zeichenfolge), die die Länge der Zeichenfolge in Bits zurückgibt.

Beispiel 4

SELECT BIT_LENGTH("MySQL");

Ergebnis: 40

Substring-Funktionen

Ein Teilstring ist normalerweise ein Teil eines Strings. Oft möchten Sie die Position des ersten Vorkommens eines Teilstrings in einem String wissen. Es gibt drei Funktionen, die dieses Problem in MySQL lösen:

  • LOCATE(substring, string [,position]);
  • POSITION (Teilstring, String);
  • INSTR(Zeichenfolge, Teilzeichenfolge).

Wenn der Teilstring nicht im String enthalten ist, geben alle drei Funktionen 0 zurück. Die INSTR()-Funktion unterscheidet sich von den anderen beiden in der Reihenfolge ihrer Argumente. Die LOCATE()-Funktion kann ein drittes Argument enthalten Position, mit dem Sie nach einer Teilzeichenfolge in einer Zeichenfolge nicht am Anfang, sondern ab der angegebenen Position suchen können.

Beispiel 5

SELECT LOCATE("Topas", "Topas");

Ergebnis: 31

WÄHLEN SIE POSITION ("Topas", "Topas");

Ergebnis: 31

SELECT INSTR("Topas",'Topas');

Ergebnis: 31

SELECT LOCATE("Topaz", "Topaz Plant and LLC Topaz", 9);

Ergebnis: 20

SELECT LOCATE("Diamant", "Topas");

Ergebnis: 0

Funktionen LINKS (Linie, N) Und RECHTS (Zeichenfolge, N) gibt jeweils die N Zeichen ganz links und ganz rechts in der Zeichenfolge zurück.

Beispiel 6

SELECT LEFT("MySQL DBMS", 4);

Ergebnis: DBMS

RECHTS AUSWÄHLEN ("MySQL DBMS", 5);

Ergebnis: MySQL

Manchmal müssen Sie eine Teilzeichenfolge erhalten, die an einer bestimmten Position beginnt. Dazu werden folgende Funktionen verwendet:

  • SUBSTRING(String, Position, N);
  • MID(String, Position, N).

Beide Funktionen geben N Zeichen der angegebenen Zeichenfolge zurück, beginnend an der angegebenen Position.

Beispiel 7

SELECT SUBSTRING("MySQL DBMS ist eines der beliebtesten DBMS", 6,5);

Ergebnis: MySQL

Bei der Arbeit mit E-Mail-Adressen und Website-Adressen ist die Funktion sehr nützlich. SUBSTR_INDEX(). Die Funktion hat drei Argumente:

SUBSTR_INDEX(Zeichenfolge, Trennzeichen, N).

Das Argument N kann positiv oder negativ sein. Wenn es negativ ist, findet die Funktion das N-te Vorkommen des Trennzeichens, von rechts gezählt. Dann wird die Teilzeichenfolge zurückgegeben, die sich rechts vom gefundenen Trennzeichen befindet. Wenn N positiv ist, findet die Funktion das N-te Vorkommen des Trennzeichens links und gibt die Teilzeichenfolge links vom gefundenen Trennzeichen zurück.

Beispiel 8

SELECT SUBSTRING_INDEX("www.mysql.ru",".",2);

Ergebnis: www.mysql

SELECT SUBSTRING_INDEX("www.mysql.ru",".",-2);

Ergebnis: mysql.com

Funktion ERSETZEN(Zeichenfolge, Teilzeichenfolge1, Teilzeichenfolge2) ermöglicht es Ihnen, alle Vorkommen von substring1 in einem String durch substring2 zu ersetzen.

Aus Buch Windows-Registrierung Autor Klimov A

Schnelle Fertigstellung Windows funktioniert(Windows NT/2000/XP) Die Windows NT-Versionen 3.1 und 3.5 ermöglichten das Schließen aller Prozesse in 20 Sekunden. In Windows NT 3.51 und höher ist es möglich, die Zeitspanne anzugeben, die das System zum Herunterfahren benötigen soll. Dazu müssen Sie den Schlüssel reparieren

Ab dem Buch Processing Databases Visual Basic®.NET Autor McManusGeoffrey P

KAPITEL 3 Einführung in SQL Server 2000 In der Vergangenheit begannen viele Programmierer damit, Datenbankanwendungen mit der Visual Basic-Sprache und der SQL Server 2000-Datenbank zu erstellen. Microsoft-Daten Zugriff mit Jetcore. Sobald die Datenbank auf mehrere tausend Datensätze anwuchs oder von mehreren auf ihre Dienste zugegriffen wurde

Aus Buch Windows-Skript Host für Windows 2000/XP Autor Popov Andrej Wladimirowitsch

Installationsanforderungen für SQL Server 2000 Um SQL Server 2000 zu installieren, benötigen Sie einen Computer mit einem Pentium-Prozessor (oder kompatiblem Prozessor) mit einer Frequenz von mindestens 166 MHz, Festplattenspeicher von 95 bis 270 MB (270 MB für eine typische Installation und 44 MB für Desktop Engine), Festplattenlaufwerk

Aus dem Buch Was nicht in Delphi-Büchern steht Autor Grigoriev A. B.

Installieren von SQL Server 2000 Nachdem Sie einen Computer mit der gewünschten Konfiguration ausgewählt haben, können Sie mit der Installation fortfahren. Im Allgemeinen ist der Installationsprozess von SQL Server 2000 sehr einfach, mit den folgenden Ausnahmen: Er dauert sehr lange; Bei der Installation wird zunächst viel verlangt

Aus dem PHP-Handbuch des Autors

SQL Server 2000-Grundlagen Nach der Installation und SQL-Start Der Server muss die folgenden Schritte ausführen, bevor er mit dem Abrufen oder Speichern von Daten fortfahren kann: eine oder mehrere Datenbanken erstellen; Tabellen in der Datenbank erstellen; Ansichten erstellen und gespeichert

Aus dem XSLT-Buch Autor Holzner Stefan

Funktionen zum Arbeiten mit Arrays A2.17 zeigt die Funktionen, mit denen Sie neue Arrays erstellen und Informationen über bestehende erhalten können.Tabelle A2.17. Array-Funktionen Funktion Beschreibung Array(arglist) Gibt einen Variant-Wert zurück

Aus dem Linux-Buch: Vollständige Anleitung Autor Kolisnichenko Denis Nikolaevich

3.3. Feinheiten beim Arbeiten mit Strings In diesem Abschnitt werden wir uns einige Feinheiten beim Arbeiten mit Strings ansehen, die es uns ermöglichen, besser zu verstehen, welchen Code der Compiler für einige scheinbar elementare Aktionen generiert. Nicht alle hier aufgeführten Beispiele funktionieren anders als

Aus dem Buch The Art of Shell Scripting Programming von Cooper Mendel

Aus dem Buch The C Language - A Beginner's Guide Autor Prata Stephen

XPath-Funktionen zum Arbeiten mit Strings Die folgenden XPath-Funktionen zum Arbeiten mit Strings sind in XSLT verfügbar: concat(string string1, string string2,...). Gibt die Verkettung (Union) aller übergebenen Strings zurück; enthält (Zeichenfolge Zeichenfolge1, Zeichenfolge Zeichenfolge2). Gibt wahr zurück, wenn die erste Zeile die zweite enthält (enthält).

Aus dem Buch Linux und UNIX: Shell-Programmierung. Entwicklerhandbuch. Autor Tainsley David

23.2.2. Speicherfunktionen Die Speicherfunktionen von Glib führen dieselben Aktionen aus wie ihre entsprechenden Funktionen in C. Hier sind ihre Prototypen: gpointer g_malloc(gulong size);gpointer g_realloc(gpointer mem, gulong size);void g_free(gpointer

Aus dem Buch Beschreibung der Sprache PascalABC.NET Autor RuBoard-Team

Aus dem Buch des Autors

13. Zeichenfolgen und Funktionen auf Zeichenfolgen

Aus dem Buch des Autors

STRING-FUNKTIONEN Die meisten C-Bibliotheken bieten Funktionen, die mit Strings arbeiten. Werfen wir einen Blick auf vier der nützlichsten und gebräuchlichsten: strlen(), strcat(), strcmp() und strcpy(). Wir haben bereits die Funktion strlen() verwendet, die die Länge eines Strings ermittelt.

Aus dem Buch des Autors

Aus dem Buch des Autors

Subroutinen für die Arbeit mit Zeichen und Strings function Chr(a: byte): char; Konvertiert einen Code in eine Windows-kodierte Zeichenfunktion ChrUnicode(a: word): char; Konvertiert einen Code in eine Unicode-Zeichenfunktion OrdUnicode(a: char): word; Konvertiert ein Zeichen in Unicode-Code function UpperCase(ch: char): char;

Aus dem Buch des Autors

Color-Funktionen Der Farbtyp Color ist ein Synonym für System.Drawing.Color. Funktion RGB(r,g,b: Byte): Farbe; Gibt eine Farbe zurück, die die Komponenten Rot (r), Grün (g) und Blau (b) enthält (r,g und b – im Bereich von 0 bis 255). Funktion ARGB(a,r,g,b: Byte): Farbe ; Gibt die Farbe zurück, die enthält

Hier vollständige Liste String-Funktionen aus BOL übernommen:

Das Ergebnis ist 11. Um herauszufinden, um welche Buchstaben es sich handelt, können wir die CHAR-Funktion verwenden, die ein Zeichen mit dem bekannten ASCII-Code (von 0 bis 255) zurückgibt:

Und so erhalten Sie zum Beispiel eine Tabelle mit Codes für alle Buchstaben:

SELECT CHAR(ASCII("a")+ num-1) Buchstabe, ASCII("a")+ num - 1 FROM (SELECT 5*5*(a-1)+5*(b-1) + c AS num FROM (SELECT 1 a UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) x CROSS JOIN (SELECT 1 b UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) y CROSS JOIN ( SELECT 1 c UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) z) x WHERE ASCII("a")+ num -1 ZWISCHEN ASCII("a") UND ASCII("z")

Wem die Generierung einer Zahlenfolge noch nicht bekannt ist, den verweise ich auf den entsprechenden Artikel.

Wie Sie wissen, sind die Codes von Klein- und Großbuchstaben unterschiedlich. Um den vollständigen Satz zu erhalten, ohne die Abfrage neu zu schreiben, müssen Sie daher nur einen ähnlichen Code zum obigen Code hinzufügen:

Ich glaube, dass es nicht schwierig sein wird, diesen Brief bei Bedarf hinzuzufügen.

Betrachten Sie nun das Problem, den gewünschten Teilstring in einem String-Ausdruck zu finden. Dazu können zwei Funktionen verwendet werden - CHARINDEX Und PATINDEX. Beide geben die Startposition (die Position des ersten Zeichens der Teilzeichenfolge) der Teilzeichenfolge in der Zeichenfolge zurück. Die CHARINDEX-Funktion hat die Syntax:

CHARINDEX ( Suchausdruck, Zeichenfolgenausdruck[, Startposition])

Hier ist ein optionaler ganzzahliger Parameter Startposition gibt die Position im Zeichenfolgenausdruck an, ab der gesucht werden soll Suchausdruck. Wenn dieser Parameter weggelassen wird, wird die Suche von Anfang an durchgeführt Zeichenfolgenausdruck. Zum Beispiel eine Anfrage

Es sollte beachtet werden, dass, wenn die gesuchte Teilzeichenfolge oder der gesuchte Zeichenfolgenausdruck NULL ist, das Ergebnis der Funktion auch NULL sein wird.

Das folgende Beispiel ermittelt die Positionen des ersten und zweiten Vorkommens des Zeichens „a“ im Schiffsnamen „California“

Und hier zum Beispiel, wie findet man Schiffsnamen, die eine Folge von drei Zeichen enthalten, deren erstes und letztes "e" ist:

Dampfbad zu LINKS Funktion RECHTS gibt die angegebene Anzahl von Zeichen rechts von einem Zeichenfolgenausdruck zurück:

RECHTS(<String-Ausdruck>,<Anzahl von Charakteren>)

So können Sie beispielsweise die Namen von Schiffen ermitteln, die mit demselben Buchstaben beginnen und enden:

Hier trennen wir den Klassennamen und den Schiffsnamen mit einem Leerzeichen. Um nicht die gesamte Konstruktion als Funktionsargument zu wiederholen, verwenden wir außerdem eine Unterabfrage. Das Ergebnis sieht folgendermaßen aus:

Um diesen Fall auszuschließen, können Sie einen weiteren verwenden nützliche Funktion len (<String-Ausdruck>) , die die Anzahl der Zeichen in einer Zeichenfolge zurückgibt. Wir beschränken uns auf den Fall, dass die Anzahl der Zeichen größer als eins ist:

Funktion REPLIZIEREN füllt die Konstante „abcde“ rechts mit fünf Leerzeichen auf, die von der Funktion nicht berücksichtigt werden LEN, - in beiden Fällen erhalten wir 5.
Funktion DATENLÄNGE gibt die Anzahl der Bytes in der Variablendarstellung zurück und zeigt uns den Unterschied zwischen den Typen CHAR und VARCHAR. DATENLÄNGE gibt uns 12 für CHAR und 10 für VARCHAR.
Wie erwartet, DATENLÄNGE gibt für eine VARCHAR-Variable die tatsächliche Länge der Variablen zurück. Aber warum ist das Ergebnis 12 für eine Variable vom Typ CHAR? Der Punkt ist, dass CHAR ein Typ ist feste Länge. Wenn der Wert der Variablen kleiner als ihre Länge ist und wir die Länge als CHAR(12) deklariert haben, dann wird der Wert der Variablen an der erforderlichen Länge „ausgerichtet“, indem nachgestellte Leerzeichen hinzugefügt werden.

Es gibt Aufgaben auf der Website, bei denen es erforderlich ist, die in numerischer Reihenfolge angegebenen Werte zu ordnen (das Maximum zu finden usw.). Textformat. Zum Beispiel Flugzeugsitznummer ("2d") oder CD-Geschwindigkeit ("24x"). Das Problem ist, dass der Text so sortiert ist (aufsteigend)

Wenn es erforderlich ist, die Plätze in aufsteigender Reihenfolge der Zeilen anzuordnen, sollte die Reihenfolge wie folgt sein

Wenn wir uns darauf beschränken, dann bekommen wir

Es bleibt zu sortieren



Wird geladen...
Spitze