sql-server – 将标题存储在数据库中的最佳方法是什么,以便在没有前导“The”,“A”的情况下进行排序

我运行(目前正在全面检修)一个处理影院的网站(njtheater.com,如果你感兴趣的话).

当我从数据库查询播放列表时,我想要“威尼斯商人”在“M”下排序.当然,当我显示剧本名称时,我需要前面的“The”.

设计数据库来处理这个问题的最佳方法是什么?

(我正在使用MS-SQL 2000)

最佳答案
你在两条列的正确轨道上,但我建议将整个可显示的标题存储在一列中,而不是连接列.另一列纯粹用于排序.这使您在排序和显示方面具有完全的灵活性,而不是坚持使用简单的前缀.

搜索时这是一种相当常见的方法(与排序有关).一列(带索引)是大小写折叠,去标记等等.在您的情况下,您还应用删除主要文章的语法约定到此字段中的值.然后将该列用作搜索或排序的比较键.另一列未编入索引,并保留原始键以供显示.

转载注明原文:sql-server – 将标题存储在数据库中的最佳方法是什么,以便在没有前导“The”,“A”的情况下进行排序 - 代码日志