Comment spécifier ignorer cas en lors de la déclaration de Sybase
Comment spécifier ignorer la casse dans un where
déclaration dans Sybase?
Fondamentalement, je veux
select * from _table where _field = 'BUSY'
pour retourner les lignes s'il y a des lignes avec des valeurs comme "Occupé" dans le champ _field
.
Pouvez-vous définir la colonne à utiliser un casse classement?
Nope, j'ai un droit d'utilisation de la base de données cible uniquement en 'lecture seule' mode. Est ce pour quoi me demandez-vous?
Oui. Si vous ne pouvez pas modifier le schéma, alors vous êtes probablement coincé avec quelque chose comme LadaRaider de répondre alors. Je suppose que vous pourriez essayer de faire
Ne pas aider à l'exécution du plan à tous..
Êtes-vous à l'aide de Sybase ASE (Adaptive Server Enterprise) ou Sybase SQL Anywhere? Ils sont complètement différents des produits de base de données.
Nope, j'ai un droit d'utilisation de la base de données cible uniquement en 'lecture seule' mode. Est ce pour quoi me demandez-vous?
Oui. Si vous ne pouvez pas modifier le schéma, alors vous êtes probablement coincé avec quelque chose comme LadaRaider de répondre alors. Je suppose que vous pourriez essayer de faire
where (_field LIKE 'B%' OR _field LIKE 'b%') AND UPPER(_field) = 'BUSY'
et voir si c'est mieux.Ne pas aider à l'exécution du plan à tous..
Êtes-vous à l'aide de Sybase ASE (Adaptive Server Enterprise) ou Sybase SQL Anywhere? Ils sont complètement différents des produits de base de données.
OriginalL'auteur Petro Semeniuk | 2010-12-08
Vous devez vous connecter pour publier un commentaire.
C'est parce que j'ai index sur _field, qui est ignoré lors de l'utilisation de HAUT
Je voudrais utiliser le suivant
select * from _table where UPPER(_field) = UPPER('busy')
. Faire les deux opérandes SUPÉRIEURE. Lorsque dans les paramétrés de la requête ou lorsque vous avez quelque choseString.Format("select * from _table where UPPER(_field) = UPPER('{}')", query)
; cela va fonctionner.OriginalL'auteur Dalmas
Autant que je sache, l'application de la fonction sur une colonne indexée ne permettra pas à l'optimiseur à l'utilisation de cet indice.
La façon la plus simple serait de réécrire l'énoncé:
cela devrait permettre à l'optimiseur d'utiliser les index.
OriginalL'auteur B0rG
Vos seuls choix sont Transact SQL fonctions. Cette page répertorie tous les
OriginalL'auteur Jonathan B