2010-09-13 4 views
0

Пользователь обновлен в Excel как 01-03-2010 (как в DD-MM-YYYY). Как я могу скрывать это в YYYYMMDD в SQL? Я попытался использовать FromDate=Format(Sheet1.Range("A3"),"yyyymmdd"), и когда я выполнил инструкцию SQL, он не показывает никакого результата.Формат конвертации даты

+1

Я думаю, что месяцы указаны в капитале M - как MM - в вашем случае строка формата должна быть yyyyMMdd – Shekhar

+0

Боб, это, как видно, следует из предыдущего поста, и вы забываете упомянуть, что это VBA, поэтому ответы не учитывайте это. – Fionnuala

+0

BTW, я проверил, прежде чем ответить на предыдущий пост. Содержит ли ячейка A3, скажем, 13/09/2010? Когда вы вводите 'Format (Sheet1.Range (« A3 »),« yyyymmdd »)' в ближайшее окно, что возвращается? – Fionnuala

ответ

0

Если вы ищете даты на 20100301, то обычно нужно фильтровать как этого

WHERE MyDate >= '20100301' AND MyDate < '20100302' 

Колонного MyDate может иметь временную составляющую, так что если вы используете равно это не удается. Или вы можете отключить время от столбца, но это приведет к тому, что db-движок не будет использовать индекс, поэтому лучше сделать запрос диапазона в соответствии с моим примером.

BTW, yyyymmdd is the correct format.

+0

Пользователи не используются для yyymmdd. Они ввели значение dd-mm-yyyy. Поэтому мне нужно преобразовать его 1-й и вставить в команду sql следующим образом: - где MyDate> = "& FromDate &" и MyDate <= "& ToDate &" – Bob

+0

@Bob: извините, мой комментарий yyyymmdd должен был уточнить, что такое shekhar сказал (это неправильно). Значение даты также должно быть в кавычках. – gbn

Смежные вопросы