我正在为包含办公 table 编号和姓名的表列开发排序功能。
这是一个遗留程序,其设计使得该列为 nvarchar。
正因为如此,排序函数无法按数字排序,如下所示:
我是否应该进入数据库并更改此列以将前导零添加到纯数字条目?由于该列是 nvarchar,这甚至可行吗?
或者我应该在对象级别添加代码以在数据显示之前添加前导零吗?
最佳答案
我会在我的类中添加一个 getter 属性,这样它看起来像
public int Ordering
{
get
{
return int.Parse(CharColumn);
}
}
并且在获取这些对象的列表时,只需按该新属性排序即可。
SQL Server
建立在 SET 理论
之上,该理论指出,如果您对结果集进行排序,您将获得非关系数据。
关于asp.net - 简单排序的问题。我应该修复数据库还是代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28049221/