Azure Synapse中如何筛选仅含字母的nvarchar列数据?
在Azure Synapse中筛选仅包含字母的行
针对你的需求,因为Azure Synapse不支持正则表达式,我们可以用T-SQL的PATINDEX函数实现筛选,具体SQL语句如下:
SELECT col FROM your_table WHERE PATINDEX('%[^a-zA-Z]%', col) = 0 AND col IS NOT NULL AND col <> '';
语句说明:
PATINDEX('%[^a-zA-Z]%', col):该函数会查找列中第一个非大小写字母的字符位置。如果整行仅包含字母,无数字或其他字符,函数返回值为0。col IS NOT NULL和col <> '':用来排除空值和空字符串的情况(如果你的数据里存在这类值的话)。
如果需要支持非英文字母(比如带重音的字母),可以将匹配范围调整为%[^a-zA-ZÀ-ÿ]%,覆盖更多Unicode字母字符。
内容的提问来源于stack exchange,提问作者user8314628
相关产品推荐
相关产品推荐

