按字母顺序排列的Sql ORDER不区分大小写

时间:2014-04-15 12:18:08

标签: c# sql .net-1.1 asp.net-1.1

今天我遇到的问题导致我难以解决。

在应用程序中我希望以字母顺序显示记录,因此在SQL语句中我使用ORDER BY,但看起来像CAPITAL字母在小写字母之前,所以以Z开头的记录是在a之前。

这是我的sql语句的例子

SELECT * FROM myTable WHERE id= 5 ORDER BY name

你有什么想法吗?从数据库中检索数据后,我可以对DataTable对象中的数据进行排序吗?或者它可以通过更复杂的sql语句来完成?

任何想法都将受到赞赏

4 个答案:

答案 0 :(得分:1)

尝试

   SELECT * FROM myTable WHERE id= 5 ORDER BY LOWER(name)

OR

   SELECT * FROM myTable WHERE id= 5 ORDER BY LCASE(name)

取决于您使用的数据库

答案 1 :(得分:0)

您可以修改SQL查询,以便在订购之前将所有大写转换为较低的

SELECT * FROM myTable WHERE id = 5 ORDER BY LOWER(name)

答案 2 :(得分:0)

您可以通过在SQL中提供案例来执行排序。就这样做:

SELECT * FROM myTable WHERE id= 5 ORDER BY UPPER(name) 

OR

SELECT * FROM myTable WHERE id= 5 ORDER BY UCASE(name)

订购将在大写字母名称上完成,而结果将与表格中的相同。

答案 3 :(得分:0)

试试这个......

SELECT * FROM myTable WHERE id= 5 ORDER BY name COLLATE Latin1_General_100_CI_AS