Я пытаюсь сравнить сохраненную дату (Datetime) с текущей системной датой. Я использую следующий запрос:
SELECT *
FROM Table
WHERE (StoredDate > Date())
и это дает мне правильный результат. Но в нем также говорится, что есть
SQL syntax error in the WHERE-Clause near ")". Analyzing of query string not possible.
Формат времени, который я установил в Access, - «Общая дата». Он отлично работает, если я сравниваю дату с целым числом.
Может кто-нибудь видит проблему?
Ваше здоровье
Круспе





если вы не указываете время вместе с датой, SQL Server автоматически принимает полночь (до SQL Server 2000 нет независимых типов данных Date и Time, в SQL Server 2005 предполагается, что они будут). Найдите тип данных DATETIME в электронной документации по SQL Server.
Если вы хотите, чтобы все записи были старше 01.01.2005, попробуйте:
Select *
FROM tablename
WHERE datefield >= '1/1/2005 23:59:59.000'
или «1/1/2005 23: 59: 59.999» или что-то еще, что вам подходит.
(выполните Select getdate (), чтобы увидеть текущее время в этом формате).
Кроме того, поищите на этом сайте DATETIME. Думаю, на эту тему есть несколько статей.
Спасибо. Вместо этого мне пришлось использовать функцию NOW ().
Это ваш настоящий вопрос?
Table- это зарезервированное слово SQL. Это база данных MS Access? Пометьте свой вопрос с помощьюMS-Access. Как вы запрашиваете эту базу данных? Через C#? Покажите нам свой код C#. Что такое «оно», которое дает вам «правильный результат», но также дает вам синтаксическую ошибку SQL.