Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Trouver UNIQUEMENT les lettres majuscules dans le mot via la requête IN SQL Server

Essayez ceci :vous devez à la fois assembler la colonne ET spécifier les majuscules. L'expression régulière [A-Z] n'est pas sensible à la casse, même si vous spécifiez une séquence de classement.

SELECT    SUBSTRING(
            ADDRESS_BLOCK
            , PatIndex(    
                N'% [ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ] %'
                , ADDRESS_BLOCK COLLATE sql_latin1_general_cp1_cs_as
                )
            , 3
            ) 
FROM 
    (
        SELECT 'Belo Horizonte , MG - Brazil' ADDRESS_BLOCK
        UNION
        SELECT 'São Paulo , SP - Brazil' 
        UNION
        SELECT 'Barueri , SP - Brazil' 
        UNION
        SELECT 'Ferraz de Vasconcelos , SP - Brazil' 
    ) n