À l'aide d'ArcGIS 10.2.2, j'ai un champ de chaîne dans une table attributaire SDE. J'ai besoin d'aide pour créer une requête pour sélectionner tous les enregistrements qui ont un zéro dans les 6e et 7e caractères du champ (par exemple 1995-0023A). Pour m'aider à mieux comprendre ce type de requête, j'aimerais également pouvoir voir une requête qui sélectionne les enregistrements avec un zéro dans le 6e caractère du champ uniquement. Je peux ensuite utiliser la clause "et" et la dupliquer pour sélectionner également le 7ème caractère.
J'ai essayé des variantes de "FIELD1" LIKE '%00_______'
mais il ne sélectionne pas les enregistrements avec les doubles zéros au bon endroit dans la chaîne.
"FIELD1" LIKE '_____00%'
? Cela utiliserait cinq caractères génériques, puis vos deux zéros, puis un autre caractère générique pour le reste de la chaîne. Dans quel type de base de données se trouvent-elles? SQL Server, Oracle, autre chose? Veuillez modifier votre question pour inclure les informations de votre commentaire ci-dessus, et des détails sur votre base de données (version, etc.)_
est utilisé dans certaines bases de données en tant que caractère générique de caractère unique. Un pourcentage%
est un caractère générique pour tous les emplacements de personnage.Réponses:
Un trait de soulignement
_
est utilisé dans certaines bases de données en tant que caractère générique de caractère unique. Un pourcentage%
est un caractère générique pour tous les emplacements de personnage.Par conséquent, quelque chose comme cela
"FIELD1" LIKE '_____00%'
devrait fonctionner, selon le type de base de données. Cela utiliserait cinq caractères génériques, puis vos deux zéros, puis un autre caractère générique pour le reste de la chaîne.la source
Ce qui suit sélectionnerait tous les enregistrements qui ont un zéro dans la position du 6ème caractère ainsi que dans la position du 7ème caractère.
Il y a cinq traits de soulignement précédant le zéro dans la première partie de l'expression, puis six traits de soulignement précédant le zéro dans la deuxième partie. Le trait de soulignement est un «caractère générique» qui nécessite la présence de n'importe quel caractère (peut être un espace, un nombre, une lettre, un symbole, etc.). Le caractère générique de pourcentage (%) permet à tout ce qui suit (ne permet également rien à suivre - ne nécessite aucun caractère).
Une façon plus succincte d'interroger ce serait
la source
Cela dépend du SGBDR, bien que les éléments suivants devraient fonctionner dans la plupart des cas:
SUBSTRING (fieldname, 6, 2) = '00'
la source
SUBSTRING()
n'a jamais fonctionné dans le SQL limité d'ArcMap. Est-ce là que vous l'utilisez ou l'utilisez-vous ailleurs? Pourriez-vous modifier votre réponse pour développer cela?