Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (E-O)

 

ISNUMERIC-Funktion [Verschiedene]

Bestimmt, ob das Zeichenfolgenargument eine gültige Zahl ist

Syntax
ISNUMERIC( Zeichenfolge )
Parameter
  • Zeichenfolge   Die Zeichenfolge, die analysiert wird, um zu bestimmen, ob sie eine gültige Zahl darstellt

Rückgabe

INT

Bemerkungen

ISNUMERIC gibt 1 zurück, wenn die Eingabezeichenfolge mit einer gültigen Ganzzahl oder Gleitkommazahl ausgewertet wird. Andernfalls wird 0 zurückgegeben. Die Funktion gibt 0 auch dann zurück, wenn die Zeichenfolge nur Leerzeichen enthält oder NULL ist.

Folgende Werte bewirken ebenfalls, dass die ISNUMERIC-Funktion "0" zurückgibt:

  • Werte, die den Buchstaben "d" oder "D" als Exponenten-Trennzeichen verwenden. Zum Beispiel: 1d2.

  • Spezialwerte wie NAN, 0x12, INF und INFINITY.

  • NULL (Beispiel: SELECT ISNUMERIC( NULL );)

Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Im folgenden Beispiel werden Daten von einer externen Datei importiert, Zeilen mit ungültigen Werten exportiert und die restlichen Zeilen in eine permanente Tabelle kopiert. In diesem Beispiel validiert die ISNUMERIC-Anweisung, dass die Werte in height_in_cms nummerisch sind.

CREATE GLOBAL TEMPORARY TABLE MyData(
      person VARCHAR(100),
      birth_date VARCHAR(30),
      height_in_cms VARCHAR(10)
   ) ON COMMIT PRESERVE ROWS;
   LOAD TABLE MyData FROM 'exported.dat';
   UNLOAD
      SELECT *
      FROM MyData
      WHERE ISDATE( birth_date ) = 0
  OR ISNUMERIC( height_in_cms ) = 0
   TO 'badrows.dat';
   INSERT INTO PermData
      SELECT person, birth_date, height_in_cms
      FROM MyData
      WHERE ISDATE( birth_date ) = 1
  AND ISNUMERIC( height_in_cms ) = 1;
   COMMIT;
   DROP TABLE MyData;