小编Dav*_* L.的帖子

确定列值(SQL)中最后一个大写字母的索引?

简短版: 有没有办法根据该值中最后一个大写字母的索引(位置)轻松提取和ORDER BY数据库的子字符串,使用SQL?

长版本:我有一个带有用户名字段的表,用户名的约定是第一个名称的大写第一个首字母,后跟姓氏的大写第一个首字母,后跟姓氏的其余部分.因此,用户名字段排序是"错误的".通过用户名值的子字符串排序理论上可以工作,例如

SUBSTRING(username,2, LEN(username))

...除了在其他两个首字母之间有大写中间首字母的值.我很想知道,仅使用SQL(MS SQL Server),是否有一种相当简单/简单的方法:

  1. 测试DB值中字符的大小写(并返回一个布尔值)
  2. 确定字符串值中最后一个大写字符的索引

假设这甚至可以远程实现,我认为必须循环遍历每个用户名的各个字母来完成它,使其效率极低,但如果你有一个神奇的快捷方式,请随意分享.注意:这个问题纯粹是学术性的,因为我决定采用更简单的方法.如果这是可能的,我只是好奇.

sql-server string uppercase

4
推荐指数
1
解决办法
1160
查看次数

标签 统计

sql-server ×1

string ×1

uppercase ×1