J'étudie la possibilité de mettre à jour notre application pour travailler avec des serveurs de bases de données autres que Firebird. Nous comptons sur "STARTING WITH" pour accéder à nos données hiérarchiques. Sans cela, je ne vois pas comment nous pourrions migrer vers une autre base de données sans une refonte sérieuse.Quel est l'équivalent de Firebirds "STARTING WITH" lors de l'utilisation d'autres bases de données, par ex. Oracle?
Si vous n'êtes pas familier avec "STARTS WITH", il vérifie simplement si un champ de chaîne commence par une chaîne particulière, par ex. ...
WHERE 'This is a test' STARTS WITH 'This is' ...
retournera vrai. Si une colonne est indexée, l'index sera utilisé pour la comparaison.
Les autres serveurs de bases de données (en particulier Oracle/MSSQL) prennent-ils en charge "STARTING WITH" (ou "STARTS WITH")?
Will "... LIKE 'est%' ..." utiliser un index de colonne si elle est disponible? Firebird il, mais « ... LIKE « % est% » ... », l'habitude. – norgepaul
cela semble très dépendant SGBDR. Dans Oracle, il dépend de la cardinalité estimée du resul t set, et il y aurait toujours des méthodes d'accès à l'index moins conventionnelles comme un balayage d'index complet rapide en tant qu'options. –
où un nom comme 'norge%' utilisera probablement un index. – tuinstoel