OleDbを使用してAccess2010データベースに接続するC#WinFormsアプリで使用される次のコマンドがあります。
oc_payslips = new OleDbCommand("SELECT <fields> FROM Payslips WHERE LicenseID = \"" + IDs[cb_Employees.SelectedIndex] + "\" AND DateOfPayment >= \"" + startDate + "\" AND DateOfPayment <= \"" + endDate + "\"", DB_Connection.con);
これは機能しません。私の推測では、SQLを使用してそのような2つの文字列を比較することはできません。
アイデアは、2つの日付の間の日付を持つレコードを取得することです。これらはすべて「dd / MM/yyyy」形式です。日付はデータベースに文字列として保存されます。
インターネットでこれに対する答えを見つけることができなかったので、ここに私の質問があります:
SQLを使用して2つの文字列を比較し、どちらがアルファベット順で最初であるかを判断する方法はありますか?
PS:最初にすべての日付を取得し、それらを比較してから、正しい日付を持つIDを検索できることはわかっていますが、私の質問は、単一のSQLクエリでこれを行うことに関連しています。