web-dev-qa-db-fra.com

Vérifiez si les premiers caractères d'une chaîne sont alphabétiques dans T-SQL

Est-il possible, en utilisant simplement TSQL, de vérifier si les deux premiers caractères d'un champ varchar sont alphabétiques?

Je dois sélectionner parmi my_table uniquement les lignes ayant my_field commençant par deux caractères alphabétiques. Comment puis-je atteindre cet objectif?

Est-il possible d'utiliser une expression régulière?

23
davioooh

Vous n'avez pas besoin d'utiliser regex, LIKE est suffisant:

WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%'

En supposant que par "alphabétique", vous entendez uniquement les caractères latins, et non rien classé comme alphabétique en Unicode.

Remarque - si votre classement est sensible à la casse, il est important de spécifier la plage comme [a-zA-Z]. [a-z] peut exclure A ou Z. [A-Z] peut exclure a ou z.

55
select * from my_table where my_field Like '[a-z][a-z]%'
4
podiluska