简短版: 有没有办法根据该值中最后一个大写字母的索引(位置)轻松提取和ORDER BY数据库的子字符串,只使用SQL?
长版本:我有一个带有用户名字段的表,用户名的约定是第一个名称的大写第一个首字母,后跟姓氏的大写第一个首字母,后跟姓氏的其余部分.因此,用户名字段排序是"错误的".通过用户名值的子字符串排序理论上可以工作,例如
SUBSTRING(username,2, LEN(username))
...除了在其他两个首字母之间有大写中间首字母的值.我很想知道,仅使用SQL(MS SQL Server),是否有一种相当简单/简单的方法:
假设这甚至可以远程实现,我认为必须循环遍历每个用户名的各个字母来完成它,使其效率极低,但如果你有一个神奇的快捷方式,请随意分享.注意:这个问题纯粹是学术性的,因为我决定采用更简单的方法.如果这是可能的,我只是好奇.