今天我遇到了一个困扰我很难解决的问题。
在应用程序中,我想按字母顺序显示记录,因此在 SQL 语句中使用了 ORDER BY,
但看起来大写字母在小写字母之前,所以以 Z
开头的记录在 a
之前。
这是我的 SQL 语句示例:
SELECT * FROM myTable WHERE id= 5 ORDER BY name
你有什么想法吗?我可以在从数据库检索数据后对 DataTable 对象进行排序吗?或者可以通过更复杂的 SQL 语句实现吗?
任何想法都将不胜感激
今天我遇到了一个困扰我很难解决的问题。
在应用程序中,我想按字母顺序显示记录,因此在 SQL 语句中使用了 ORDER BY,
但看起来大写字母在小写字母之前,所以以 Z
开头的记录在 a
之前。
这是我的 SQL 语句示例:
SELECT * FROM myTable WHERE id= 5 ORDER BY name
你有什么想法吗?我可以在从数据库检索数据后对 DataTable 对象进行排序吗?或者可以通过更复杂的 SQL 语句实现吗?
任何想法都将不胜感激
SELECT * FROM myTable WHERE id = 5 ORDER BY LOWER(name)
尝试
SELECT * FROM myTable WHERE id= 5 ORDER BY LOWER(name)
或者
SELECT * FROM myTable WHERE id= 5 ORDER BY LCASE(name)
根据您使用的数据库而定
string sql =“SELECT * FROM app_lookup WHERE nid =”+ npk +“ ORDER BY LCASE(cdesc)”;
- user3455363你可以通过在 SQL 中指定大小写来进行排序。只需要这样做:
SELECT * FROM myTable WHERE id= 5 ORDER BY UPPER(name)
或者
SELECT * FROM myTable WHERE id= 5 ORDER BY UCASE(name)
订购将根据大写名称进行,而您的结果将与表中的现有内容相同。
试试这个...
SELECT * FROM myTable WHERE id= 5 ORDER BY name COLLATE Latin1_General_100_CI_AS