如何检查字符串是否只包含字母?

use*_*628 0 sql sql-server azure-synapse

我有一列类型nvarchar如下所示:

col
--------
123hello45
12345
hello
Run Code Online (Sandbox Code Playgroud)

期望输出

col
--------
hello
Run Code Online (Sandbox Code Playgroud)

Azure Synapse 不支持正则表达式。如何确定行是否仅包含字母?

Tim*_*sen 5

我们可以在这里使用SQL Server的增强LIKE运算符:

SELECT col
FROM yourTable
WHERE col NOT LIKE '%[^A-Za-z]%';
Run Code Online (Sandbox Code Playgroud)

这里的逻辑是任何col包含一个或多个非字母字符的值,因此必须仅为字母。

  • 这与您使用的排序规则有关,而不是解决方案 @user8314628 。无论排序规则如何,这都会起作用。 (2认同)