Share via


Annexe E : Fonctions scalaires

ODBC spécifie les types de fonctions scalaires suivants, avec des informations détaillées sur chacun de ces types de fonctions fournies dans les sections correspondantes de cette annexe. Les descriptions des fonctions incluent la syntaxe associée.

Cette annexe contient les rubriques suivantes.

ODBC n’impose pas de type de données pour les valeurs de retour des fonctions scalaires, car les fonctions sont souvent spécifiques à la source de données. Les applications doivent utiliser la fonction scalaire CONVERT dans la mesure du possible pour forcer la conversion de type de données.

Fonctions scalaires ODBC et SQL-92

Les tables de cette annexe incluent des fonctions qui ont été ajoutées dans ODBC 3.0 pour s’aligner sur SQL-92. Les fonctions ajoutées pour un type particulier de fonction scalaire, telles que définies dans ODBC, sont indiquées dans chaque section.

ODBC et SQL-92 classifient leurs fonctions scalaires différemment. ODBC classifie les fonctions scalaires par type d’argument ; SQL-92 les classifie par valeur de retour. Par exemple, la fonction EXTRACT est classée comme fonction timedate par ODBC, car l’argument extract-field est un mot clé datetime et l’argument extract-source est une expression datetime ou interval. SQL-92, quant à lui, classifie EXTRACT en tant que fonction scalaire numérique, car la valeur de retour est numérique.

Une application peut déterminer les fonctions scalaires qu’un pilote prend en charge en appelant SQLGetInfo. Les types d’informations sont inclus à la fois pour ODBC et pour les classifications SQL-92 des fonctions scalaires. Étant donné que ces classifications sont différentes, la prise en charge de certaines fonctions scalaires peut être indiquée dans des types d’informations qui ne correspondent pas à ODBC et SQL-92. Par exemple, la prise en charge d’EXTRACT dans ODBC est indiquée par le type d’informations SQL_TIMEDATE_FUNCTIONS ; La prise en charge d’EXTRACT dans SQL-92, en revanche, est indiquée par le type d’informations SQL_SQL92_NUMERIC_VALUE_FUNCTIONS.