Как выбрать запись на основе даты, которая сохраняется в виде строки? - PullRequest
1 голос
/ 17 ноября 2011

Bill_Date сохраняется как строка в базе данных. Теперь я хочу выбрать записи на основе этого Bill_Date. Поэтому я ввожу две даты, т.е. fromDate и toDate (которые также в строке).

Все значения даты используют формат США mm/dd/yyyy (например, 11/28/2011).

Так как будет выглядеть запрос?

Ответы [ 2 ]

3 голосов
/ 17 ноября 2011

Во-первых, ваша жизнь будет намного проще (и запрос будет намного быстрее), если все будет датой.

Запрос (в том виде, как он есть) будет:

SELECT *
FROM TABLE
WHERE CONVERT(datetime, BILL_Date, 101)
BETWEEN CONVERT(datetime, @fromDate, 101) AND CONVERT(datetime, @toDate, 101)

CONVERT подробно здесь .

0 голосов
/ 17 ноября 2011

Если строки в формате ГГГГ-ММ-ДД (или в любом другом формате, где даты будут упорядочены в хронологическом порядке, если вы отсортируете по строке), вы можете использовать между:

select * from table where Bill_date between fromDate and toDate

Если используется другой формат даты, вам нужно проанализировать строки и создать даты, либо в c #, либо в sql. В Oracle вы бы использовали TO_DATE, я предполагаю, что в SQL-сервере есть нечто похожее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...