простой способ выбрать все записи, которые находятся между двумя датами

#c# #sql #tsql #sqlcommand

#c# #sql #tsql #sqlcommand

Вопрос:

есть ли простой способ выбрать все записи, которые находятся между двумя датами. должен ли я использовать datetime для типа файла или я тоже могу использовать строковый тип. что-то вроде этого :

 SELECT * FROM users WHERE datetime_update      is between date1 and date2
  
  • по некоторым причинам я использую строковый тип файла, так что это было бы лучше.

я пробую эту команду в своем проекте c #, но она возвращает примечание. где я упускаю понимание?

 SELECT        user_id, sharj_value, datetime_update
FROM            users
WHERE        (user_id = 0653193963) AND (datetime BETWEEN '1390/07/12%' AND '1390/07/14%')
  

и это образец данных в таблице

 filed names    user_id    sharj_value      datetime_update

             0653193963      60000       1390/7/12 08:00:15  
             0653193963      40000       1390/7/13 08:18:44 
             0653193963      40000       1390/7/13 08:20:35
  

я думаю, что он должен вернуть две последние строки.

Ответ №1:

Попробуйте это..

 SELECT user_id, sharj_value, datetime
  FROM users
 WHERE user_id = 0653193963 AND datetime BETWEEN '1390/07/12 00:00:00' AND '1390/07/14 23:59:59')
  

Комментарии:

1. Оки .. это должно вам помочь!

Ответ №2:

Для SQL Server этот синтаксис T-SQL должен работать:

 SELECT user_id, sharj_value, [datetime]
FROM users
WHERE user_id = 06531939630 AND [datetime] BETWEEN '1390-07-12' AND '1390-07-14'
  

Также обратите внимание, что в некоторых языках используется year-month-day (например, в Америке), а в других используется year-day-month .

Вы также можете посмотреть на SQL-Server «set dateformat«

Комментарии:

1. это не помогло бы, я тоже меняю имя файла, но снова отмечаю возврат. и это строка, и я заполняю ее сам, поэтому я знаю формат