【发布时间】:2016-05-09 13:45:03
【问题描述】:
MySQL 使用与CString::CompareNoCase 不同的比较运算符进行排序,这导致了一些难以检测的错误。主要问题似乎是令牌_。
如何将一个 CString 与另一个 CString 进行比较,就像 MySQL 在使用 ORDER BY field 时比较字符串一样?
编辑:
莫非 MySQLORDER BY BINARY field 使用了和CString::operator< 完全相同的比较函数?我当前的方法使用SORT BY field 和CString::CompareNoCase,如上所述,它们背后有不同的比较运算符。
【问题讨论】:
-
您需要根据您的平台和配置使用什么算法来分析 MySQL,然后从那里获取。
CString中可能没有预先实现的解决方案,您可能需要为您的应用程序提供自定义排序谓词。有关内置比较功能,请参阅 Comparing CString Objects。 -
编写自定义比较函数很可能太慢了。我可以保证
ORDER BY BINARY使用某些特定的运算符吗?我怎么知道? -
我看过文章,没有说明使用的是哪个比较运算符
标签: c++ mysql mfc compare c-strings