arvindispra Ответов: 4

Как получить значение между двумя датами из SQL server


Я пытаюсь получить данные между двумя датами.
Имя таблицы = kidsFee;
имя столбца = fee_date; тип данных varchar(200)
Я пытаюсь выполнить следующий запрос



Заранее спасибо

Что я уже пробовал:

SELECT * FROM kidsFee
WHERE fee_date BETWEEN '30/4/2016' AND '22/5/2016';

Я пробую этот запрос, но он не работает. Что же мне делать?

Suvendu Shekhar Giri

Ваш запрос, кажется, в порядке. Просто предложение, используйте формат "гггг/м/д", Например-
Где fee_date между '2016/4/30' и '2016/5/22';

Можете ли вы поделиться каким-нибудь образцом записи, который вы хотите получить в результате?

arvindispra

штраф - - - - - - - - итого - - - - - - - - fee_date

20------ 2585---- 30/4/2016
10------ 1510---- 30/4/2016
10------ 1510---- 30/4/2016
10------ 1510---- 30/4/2016
45------ 435----- 30/4/2016
656----- 34545---- 30/4/2016
345----- 3453---- 30/4/2016
5------- 7256---- 30/4/2016
300----- 1620---- 22/5/2016
108----- 936----- 5/6/2016
208----- 1836---- 5/6/2016
5------- 166----- 5/6/2016
5------- 1009----- 5/6/2016
99------- 495----- 5/6/2016
9------- 45------ 5/6/2016
90------ 450----- 5/6/2016
6------- 58------ 12/6/2016
400------ 1530----- 27/6/2016

4 Ответов

Рейтинг:
2

Daniel Jones

SELECT * FROM tableName  WHERE columName 
BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 5 DAY)


Рейтинг:
0

Marcus Kramer

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

WHERE CONVERT(DATE, fee_date) BETWEEN CONVERT(DATE, '2016-04-30') AND CONVERT(DATE, 
'2016-05-22')

или
WHERE CONVERT(DATE, fee_date) BETWEEN '2016-04-30' AND '2016-05-22'


Рейтинг:
0

Member 12346239

Пожалуйста, попробуйте .....

Выберите * из kidsFee
Где fee_date > '2016/04/30' и Date < '2016/05/22';

ОПЕРАЦИОННАЯ

Выберите * из kidsFee
Где fee_date между '04/30/2016' и '05/22/2016';


Marcus Kramer

Не будет работать, если его столбец fee_date является varchar(200)

barneyman

с какой стати вы храните даты в виде строк?

ок - так что вы будете иметь, чтобы преобразовать каждую строку, дату в дату и мин/макс datestrings также в даты

Рейтинг:
0

Vignesh Mani

Выберите * из kidsFee
Где fee_date между '2016-04-30' и '2016-05-22'