Find ONLY Capital Letters in word through IN SQL Server query

前端 未结 5 819
名媛妹妹
名媛妹妹 2020-12-11 19:50

I have to do this in SQL Server

I have data such as

Belo Horizonte , MG - Brazil
São Paulo , SP - Brazil
Barueri , SP - Brazil
Ferraz de Vasconcelos          


        
5条回答
  •  情话喂你
    2020-12-11 20:45

    Try this: You need to both collate the column AND specify the capital letters. The regular expression [A-Z] is not case sensitive, even if you specify a collation sequence.

    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
    

提交回复
热议问题