微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 SQL Server 数据库中查找以小写字母开头的列并将它们列为 SELECT 语句

我正在尝试选择以小写字母开头的数据库中的所有列。就像“状态”一样。

我写了一个命令如下:

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

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

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

但它也像最后一个

'S' 是示例。所有字母都需要它。

谢谢....

解决方法

我认为 information_schema 表中的名称不区分大小写。因此,您的尝试不会只是找到小写。

这让您有两个选择。一种是摆弄排序规则以获得等效的区分大小写的排序规则。

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

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

Here 是说明差异的 dbfiddle。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。