INTEGER fonction scalaire

La fonction INTEGER renvoie une représentation entière (un entier binaire avec une précision de 31 bits) d'une valeur d'un type de données différent.

Numérique en ENTIER

Read syntax diagramSkip visual syntax diagram INTEGER ( numeric-expression )

Chaîne en ENTIER

Read syntax diagramSkip visual syntax diagram INTEGER ( string-expression )

Date à ENTIER

Read syntax diagramSkip visual syntax diagram INTEGER ( date-expression )

Heure à ENTIER

Read syntax diagramSkip visual syntax diagram INTEGER ( time-expression )

Booléen en ENTIER

Read syntax diagramSkip visual syntax diagram INTEGER ( boolean-expression )

Le schéma est SYSIBM.

Numérique en ENTIER
expression-numérique
Expression qui renvoie une valeur de tout type de données numériques intégré.

Le résultat est le même que si l'argument était affecté à une colonne ou à une variable entière de grande taille. La partie fractionnaire de l'argument est tronquée. Si la partie entière de l'argument n'est pas comprise dans la plage des entiers, une erreur est renvoyée (SQLSTATE 22003).

Chaîne en ENTIER
string-expression
Expression qui renvoie une valeur qui est une chaîne de caractères ou une représentation de chaîne graphique Unicode d'un nombre dont la longueur n'est pas supérieure à la longueur maximale d'une constante de type caractère.

Le résultat est le même que celui obtenu avec CAST (string-expresssion AS INTEGER). Les blancs de début et de fin sont éliminés et la chaîne résultante doit être conforme aux règles de formation d'une constante entier, décimale, à virgule flottante ou décimale à virgule flottante (SQLSTATE 22018). Si la partie entière de l'argument n'est pas comprise dans la plage des entiers, une erreur est renvoyée (SQLSTATE 22003). Le type de données de string-expression ne doit pas être CLOB ou DBCLOB (SQLSTATE 42884).

Date à ENTIER
expression-date
Expression qui renvoie une valeur du type de données DATE. Le résultat est une valeur INTEGER représentant la date sous la forme aaaammjj.
Heure à ENTIER
expression-temps
Expression qui renvoie une valeur du type de données TIME. Le résultat est une valeur INTEGER représentant l'heure sous la forme hhmmss.
Booléen en ENTIER
expression-booléenne
Expression qui renvoie une valeur booléenne (TRUE ou FALSE). Le résultat est 1 (pour TRUE) ou 0 (pour FALSE).

Résultat

La fonction a pour résultat une valeur entière élevée. Si l'argument peut être null, le résultat peut être null ; si l'argument est null, le résultat est la valeur null.

Remarques

  • Augmentation de la portabilité des applications : Si le premier argument est numérique ou si le premier argument est une chaîne de caractères et que l'argument de longueur est spécifié, utilisez la spécification CAST au lieu de cette fonction pour accroître la portabilité de vos applications.

Exemples

  • Exemple 1: A l'aide de la table EMPLOYEE, sélectionnez une liste contenant le salaire (SALAIRE) divisé par le niveau d'éducation (EDLEVEL). Tronque n'importe quelle décimale dans le calcul. La liste doit également contenir les valeurs utilisées dans le calcul et le numéro d'employé (EMPNO). La liste doit être dans l'ordre décroissant de la valeur calculée.
       SELECT INTEGER (SALARY / EDLEVEL), SALARY, EDLEVEL, EMPNO
         FROM EMPLOYEE
         ORDER BY 1 DESC
  • Exemple 2: A l'aide de la table EMPLOYEE, sélectionnez la colonne EMPNO sous forme d'entier pour un traitement ultérieur dans l'application.
       SELECT INTEGER(EMPNO) FROM EMPLOYEE
  • Exemple 3: Supposons que la colonne BIRTHDATE (dont le type de données est DATE) ait une valeur interne équivalente à'1964-07-20'.
       INTEGER(BIRTHDATE)
    génère la valeur 19 640 720.
  • Exemple 4: Supposons que la colonne STARTTIME (dont le type de données est TIME) ait une valeur interne équivalente à'12:03:04'.
       INTEGER(STARTTIME)
    génère la valeur 120 304.
  • Exemple 5: L'instruction suivante renvoie la valeur 1 du type de données INTEGER.
       values INTEGER(TRUE)
  • Exemple 6: L'instruction suivante renvoie la valeur 0 du type de données INTEGER.
       values INTEGER(3>3)