Contrainte d'interdiction et d'autorisation de caractères

Bonjour.

Je cherche à définir l’interdiction ce certains caractères dans une colonne lorsqu’ils sont au début ou à la fin mais je ne sais pas si c’est possible en “HSQLDB Base”. Voilà ce que je tente pour interdire, en début et fin de colonne, l’apostrophe, le tiret et l’espace dans CLT_NOM :

CREATE TABLE T_CLIENTS (
	CLT_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,
	CLT_NOM VARCHAR (32) NOT NULL,
	CLT_PRENOM VARCHAR (32) NOT NULL,
	CONSTRAINT PK_CLT_ID PRIMARY KEY (CLT_ID),
	CONSTRAINT CK_CLT_NOM_DEB CHECK (LEFT(VALUE, 1) CLT_NOM NOT IN (' ', '-', '''')),
	CONSTRAINT CK_CLT_NOM_FIN CHECK (RIGHT(VALUE, 1) CLT_NOM NOT IN (' ', '-', ''''))
);

La création de la table est refusée.

Dans le même ordre d’idée, peut-on, sans passer par une REGEX, définir une liste de caractères autorisés ?

Merci.

J’ai fini par trouver la bonne syntaxe.

CREATE TABLE T_CLIENTS (
	CLT_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,
	CLT_NOM VARCHAR (32) NOT NULL,
	CLT_PRENOM VARCHAR (32) NOT NULL,
	CONSTRAINT PK_CLT_ID PRIMARY KEY (CLT_ID),
	CONSTRAINT CK_CLT_NOM_DEB CHECK (LEFT(CLT_NOM, 1) NOT IN (' ', '-', '''')),
	CONSTRAINT CK_CLT_NOM_FIN CHECK (RIGHT(CLT_NOM, 1) NOT IN (' ', '-', '''')),
	CONSTRAINT CK_CLT_PRENOM_DEB CHECK (LEFT(CLT_PRENOM, 1) NOT IN (' ', '-')),
	CONSTRAINT CK_CLT_PRENOM_FIN CHECK (RIGHT(CLT_PRENOM, 1) NOT IN (' ', '-'))
);