在 SQL 服务器数据库中查找以小写字母开头的列,并将它们列为 SELECT 语句

Find Columns which starts with Lowercase letters in SQL Server Data Base and list them as a SELECT Statement

我正在尝试 Select 数据库中以小写字母开头的所有列。喜欢 'status'.

我写了一个命令如下:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE LEFT(COLUMN_NAME, 1) = 's'

我得到第一个字母并检查它是否等于小写's'。但它 Returns 所有列名都带有 's' 和 'S' 。 我什至试过这个:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE LEFT(COLUMN_NAME, 1) = LOWER('s')

但它也像上一个一样。

'S' 用于示例。所有字母我都需要它。

谢谢....

我认为 information_schema 表中的名称不区分大小写。所以,你的尝试不会只找到小写字母。

这给您留下了两个选择。一种是 fiddle 带排序规则以获得等效的区分大小写的排序规则。

另一种是使用ascii()函数:

select *
from information_schema.columns
where ascii(left(column_name, 1)) between ascii('a') and ascii('z');

Here 是一个 db<>fiddle 来说明差异。