Type Permet de stocker : Texte des caractères alphanumériquesChaîne : une chaîne de caractères de 65.535 caractères maximum. Cette chaîne de caractères est au format Ansi.Mémo texte : une chaîne de caractères de 4 Go maximum. Le format RTF est géré. Ce mémo texte est au format Ansi.Caractère : un seul caractère (initialisé par un 0 binaire, Caract(0)).Unicode : une chaîne de caractères au format Unicode.Mémo texte Unicode : une chaîne de caractères de 4 Go Maximum. Ce mémo texte est au format Unicode. Numérique une valeur numériqueEntier signé sur 1 octet : valeur comprise entre -128 et 127Entier signé sur 2 octets : valeur comprise entre -32.768 et 32.767Entier signé sur 4 octets : valeur comprise entre -2.147.483.648 et 2.147.483.647Entier signé sur 8 octets : valeur comprise entre -9.223.372.036.854.775.808 et 9.223.372.036.854.775.807Entier non signé sur 1 octet : valeur comprise entre 0 et 255Entier non signé sur 2 octets : valeur comprise entre 0 et 65.535Entier non signé sur 4 octets : valeur comprise entre 0 et 4.294.967.296Entier non signé sur 8 octets : valeur comprise entre 0 et 18.446.744.073.709.551.615Réel sur 4 octets : valeur comprise entre -3,4e+38 et +3.4e+38Réel sur 8 octets : valeur comprise entre -1,79e+308 et +1.79e+308Décimal (Numérique WLangage) : un décimal peut avoir jusqu'à 38 chiffres significatifs. Monétaire une devise Un monétaire peut avoir jusqu'à 24 chiffres significatifs (18 maximum pour la partie entière, 6 maximum pour la partie décimale) et peut prendre une valeur entre -604 462 909 807 314 587,353 087 et +604 462 909 807 314 587,353 087. Date une date ou une duréeDate (AAAAMMJJ) : une date au format AAAAMMJJ (dates comprises entre le 01/01/0001 et le 31/12/9999)Date et Heure : une date-heure (comprise entre le 01/01/0001 à 00h00 et le 31/12/9999 à 23h59). La précision est effectuée à la milliseconde.Durée : une durée en millisecondes (comprise entre -9.223.372.036.854.775.808 et 9.223.372.036.854.775.807). Heure une heureHeure (HH) : Heure comprise entre 00H et 23HHeure (HHMM) : Heure comprise entre 00H00 et 23H59. La précision est effectuée à la minute.Heure (HHMMSS) : Heure comprise entre 00H00min00ss et 23H59min59ss. La précision est effectuée à la seconde.Heure (HHMMSSCC) : Heure comprise entre 00H00min00ss00cs et 23H59min59ss59cs. La précision est effectuée au dixième de seconde.Astuce : Pour conserver une heure avec une précision au centième de seconde, utilisez le type "Date et Heure". Booléen un booléen (1 : Vrai et 0 : Faux) Son, image, binaire, ... un fichier ou une chaîne binaireImage (mémo binaire) : un fichier imageSon (mémo binaire) : un fichier sonOLE (mémo binaire) : un fichier OLEAutre mémo binaire : tout type de fichierChaîne binaire : une chaîne au format binaire Interrupteur une valeur associée à un champ InterrupteurInterrupteur : un booléen (1 : Vrai et 0 : Faux)Entier non signé sur 1 octet : une valeur comprise entre 0 et 255 Sélecteur, liste, combo une valeur associée à un champ Sélecteur, un champ Liste ou un champ Combo. Il est possible de sélectionner le sous-type suivant :
Entier sur 1 octet : un indice correspondant à une liste de valeurs. La valeur de cet indice est comprise entre -128 et 127Entier sur 2 octets : un indice correspondant à une liste de valeurs. La valeur de cet indice est comprise entre -32.768 et 32.767Entier sur 4 octets : un indice correspondant à une liste de valeurs. La valeur de cet indice est comprise entre -2.147.483.648 et 2.147.483.647Entier non signé sur 1 octet : un indice correspondant à une liste de valeurs. La valeur de cet indice est comprise entre 0 et 255 Id automatique l'identifiant de chaque enregistrement du fichier de données. Sa valeur est automatiquement mise à jour par le moteur de base de données HFSQL.Identifiant automatique (4 octets) : l'identifiant de chaque enregistrement (valeur comprise entre 0 et 2.147.483.647) Ce type correspond au type "Identifiant" de WINDEV 5.5Identifiant automatique (8 octets) : l'identifiant de chaque enregistrement (valeur comprise entre 0 et 9.223.372.036.854.775.807)UUID automatique (128 bits) : l'identifiant de chaque enregistrement correspond à un UUID sur 128 bits. Dans ce cas, l'UUID permet d'obtenir un identifiant unique non séquentiel.UUID automatique (256 bits) : l'identifiant de chaque enregistrement correspond à un UUID sur 256 bits. Dans ce cas, l'UUID permet d'obtenir un identifiant unique non séquentiel.Remarque : Un même enregistrement peut comporter un UUID automatique et un Identifiant automatique (par exemple, pour simplifier la migration d'un existant).
XML une chaîne de caractères XML (4 Go maximum). Cette chaîne est stockée sous forme de mémo texte. Index full-text les différents composants de l'index full-text. L'index full-text peut être composé de rubriques de type texte ou mémo texte. Enumération, Combinaison Enumération : une valeur entière parmi les valeurs possibles définies dans l'énumération associée à la rubrique. Combinaison : une valeur entière représentant une combinaison des valeurs possibles définies dans la combinaison associée à la rubrique. Rubrique calculée / Formule une chaîne de caractères en langage SQL représentant une formule de calcul. La formule peut utiliser aussi bien des fonctions SQL et/ou des fonctions WLangage (WL.). Par défaut, seule la formule est stockée, la valeur est calculée lors de l'accès en lecture à l'enregistrement.Par exemple, calculer l'âge à partir de la rubrique DateNaissance du fichier de données. La valeur sera directement calculée dans le fichier de données.
CAST ( TO_CHAR ( SYSDATE , 'YYYY' ) AS int)
- CAST ( TO_CHAR ( datenaissance, 'YYYY' ) AS int)
Il est possible toutefois de stocker la valeur calculée dans le fichier de données afin de ne pas refaire le calcul.
Il est possible de stocker la formule en Unicode : le calcul sera plus rapide mais la place occupée par la formule sera plus importante.
Si l'enregistrement est modifié, la formule de calcul est ré-exécutée afin de mettre à jour le buffer du fichier de données avec la nouvelle valeur.
Attention : La gestion du NULL respecte la norme SQL. Par exemple, si une formule ajoute la valeur NULL à une valeur, le résultat correspond lui-même à la valeur NULL.
Horodatage une DateHeure ou une Date ou une Heure représentant la date de création ou de dernière modification de l'enregistrement.Il est possible de choisir :
si la date de création ou de dernière modification de l'enregistrement doit être enregistrée. si l'heure locale ou l'heure UTC doit être utilisée. Ce type de rubrique est également appelé "Rubrique DateHeure automatique".
UUID un UUID. Un UUID (Universal Unique IDentifier) est un nombre aléatoire réputé unique. Un UUID est utile pour identifier facilement et de manière certaine un élément quelconque.Il est possible de choisir :
un UUID sur 128 bits. Ce type de rubrique UUID respecte la norme RFC 4122 en 128 bits. Seul le UUID sur 128 bits est normé. un UUID sur 256 bits. Pour gérer un identifiant automatique de type UUID (automatiquement initialisé par HFSQL), il est nécessaire d'utiliser une rubrique de type "Identifiant", ayant pour sous-type "UUID automatique".
Remarque : L'intérêt majeur de l'UUID est de permettre l'anonymisation et la pseudonymisation, utile au respect de la norme RGPD. L'UUID permet également de gérer des identifiants de cryptomonnaie.
JSON une chaîne JSON. Ce type de rubrique peut contenir NULL, une chaîne vide ou un JSON valide. La vérification du JSON est automatiquement réalisée à l'écriture de l'enregistrement. Ce type de rubrique est notamment utilisé avec les fonctions SQL JSON.
Mot de passe une chaîne de caractères utilisée comme mot de passe. La chaîne de caractères contenue dans cette rubrique est "salée" et "hachée". C'est le résultat de ces opérations qui est stocké dans la rubrique, ainsi que le sel utilisé pour le salage et le type d'algorithme utilisé. Ces informations ne permettent pas de reconstituer le mot de passe d'origine.
Ce mot de passe ne peut pas être affiché à l'utilisateur.
Il est possible de choisir :
l'algorithme de dérivation de clé, l'algorithme de hash, le nombre d'itérations, la taille du résultat. Données géométriques une donnée géométrique, utilisant un repère euclidien. Cette donnée peut correspondre à un des sous-types suivants : Point en 2 dimensions, Polyligne en 2 dimensions, Polygone en 2 dimensions, MultiPoint en 2 dimensions, MultiPolyligne en 2 dimensions, MultiPolygone en 2 dimensions. Ce type de rubrique peut être une clé spatiale.
Données géographiques une donnée géographique, utilisant des coordonnées géographiques (latitude et longitude). Cette donnée peut correspondre à un des sous-types suivants : Point géographique, Polyligne géographique, Polygone géographique, MultiPoint géographique, MultiPolyligne géographique, MultiPolygone géographique. Ce type de rubrique peut être une clé spatiale.
Données géométriques ou géographiques quelconques une donnée géométrique ou géographique. Dans ce cas, la donnée correspond à une géométrie (en 2 dimensions ou géographique).