REGEX dans une contrainte de validation

Bonjour.

Peut-on utiliser les expressions régulières dans des contraintes de table ? Si oui, quelle est la syntaxe exacte à HSQLDB ?

Comme cas pratique, une contrainte de validation pour formater un numéro de téléphone portable avec ça :

[0][6-7][0-9][0-9][0-9][0-9][0-7][0-9][0-9][0-9]

J’ai tenté avec une contrainte du genre :

CONSTRAINT CK_TEL_PORT CHECK (TEL_PORT_NUM LIKE [0][6-7][0-9][0-9][0-9][0-9][0-7][0-9][0-9][0-9])

Mais pas moyen de saisir quoi que ce soit.

Merci.

No chance with internal HSQLDB (Version 1.8).
See: Chapter 9. SQL Syntax

Cette table est créée sans problème directement en SQL mais toute saisie retourne qu’il y a tentative de violation de contrainte de validation :

CREATE TABLE T_TELEPHONES (
	TEL_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,
	CLI_ID INTEGER NOT NULL,
	TEL_FIXE_NUM CHAR (10),	
	TEL_PORT_NUM CHAR (10),
	CONSTRAINT CK_TEL_FIXE CHECK (TEL_FIXE_NUM LIKE '[0][1-5][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
	CONSTRAINT CK_TEL_PORT CHECK (TEL_PORT_NUM LIKE '[0][6-7][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
);

LIKE est une requête pour un texte. En fait, la validation attend donc

[0][1-5]…

comme texte - avec les parenthèses.

Il n’y a pas d’expressions regex.

comme indiqué par @RobertG, ça ne fonctionnera pas avec LIKE;
mais ça s’écrirait plus succinctement :

0[67]\d{8}

( [0-7] étant probablement une faute de frappe !?)

Je sais que ce n’est pas une REGEX, mais ne sachant pas le faire, j’essaie plusieurs combinaisons. Sinon, avec HSQLDB externe, quelle est la syntaxe REGEX pour une contrainte CHECK ?

[0-7] est effectivement une faute de frappe. Par contre, je ne comprends pas 0[67]\d{8}