sqlserver 查询字段只保留汉字,去除英文和逗号句号

SELECT   
    SUBSTRING(  
        REPLACE(  
            REPLACE(ConDisType, '.', ''),   
            ',', ''  
        ),   
        PATINDEX('%[^0-9a-zA-Z.,]%', REPLACE(REPLACE(ConDisType, '.', ''), ',', '')),   
        LEN(REPLACE(REPLACE(ConDisType, '.', ''), ',', '')) - PATINDEX('%[^0-9a-zA-Z.,]%', REPLACE(REPLACE(ConDisType, '.', ''), ',', '')) + 1  
    ) AS Result  
FROM   
    [PeisPatientOccuConDis]

在这个查询中,我们使用了 REPLACE 函数将字段中的句号和逗号替换为空字符串,然后使用 PATINDEX 函数查找最后一个非英文字符的位置。最后,使用 SUBSTRING 函数从该位置开始截取剩余的字符串。

请注意,这个查询假设字段中的英文字符只包含字母和数字,如果你需要处理其他类型的英文字符,请相应地调整正则表达式模式。

你可能感兴趣的:(sqlserver,数据库,java,sql)