asp.net - 简单排序的问题。我应该修复数据库还是代码?

标签 asp.net sql-server database

我正在为包含办公 table 编号姓名的表列开发排序功能。

这是一个遗留程序,其设计使得该列为 nvarchar。

正因为如此,排序函数无法按数字排序,如下所示:

enter image description here

我是否应该进入数据库并更改此列以将前导零添加到纯数字条目?由于该列是 nvarchar,这甚至可行吗?

或者我应该在对象级别添加代码以在数据显示之前添加前导零吗?

最佳答案

我会在我的类中添加一个 getter 属性,这样它看起来像

public int Ordering
{
     get
     {
          return int.Parse(CharColumn);
     }
}

并且在获取这些对象的列表时,只需按该新属性排序即可。

SQL Server 建立在 SET 理论 之上,该理论指出,如果您对结果集进行排序,您将获得非关系数据。

关于asp.net - 简单排序的问题。我应该修复数据库还是代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28049221/

相关文章:

php - 当一个表为空时从两个表请求mysql

mysql - 插入具有最高值的列的列名

C# View 模型 int 解析错误?到整数

c# - 使用ajax json C#从数据库加载数据到gridview时出错

c# - 如何检查是否从 GridView 中选择了任何行?

sql-server - 过程或函数指定的参数过多 SSRS

javascript - __dopostback 在 javascript 函数中不起作用

sql - 如何使用MS SQL Server Management Studio删除SQL数据库表中的前导空白空间

sql-server - 等效内存中的 SQL Server

database - 当我使用 MongoDB Atlas Search 时,如何处理本地 MongoDB 数据库中的查询?