PATINDEX でアンダースコアの位置を見つけるための解決策を見つけました:
DECLARE @a VARCHAR(10)
SET @a = '37_21'
PRINT PATINDEX('%_%', @a) -- return 1 (false)
PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct)
他のアイデアはありますか?アンダースコア文字をエスケープする方法が好きですか?