Всем здравствуйте. Пытаюсь получить внешние данные из Microsoft Query с помощью запроса. На основании Столбца "Дата время" надо добавить столбец "Дата", в котором была бы только дата. Т.е. округлить "Дата время" (например 15.02.2015 19:12:00) до меньшего целого значения (т.е. 15.02.2015) Попробовал в Режиме SQL вставить функцию FLOOR, Microsoft Query выдало сообщение "Неопределенная функция 'FLOOR' в выражении."
Код
SELECT База_данных.`Дата время`, FLOOR(База_данных.`Дата время`) AS 'Дата'
FROM `D:\Загрузки\База данных`.База_данных База_данных
GROUP BY База_данных.`Дата время`
Пробовал LEFT(База_данных.`Дата время`,10)-получается текст. Подскажите как можно Округлить "Дата время" до меньшего целого значения в запросе.
Dima S, спасибо за ответ, но Microsoft Query выдало сообщение "Неопределенная функция 'DATE FORMAT' в выражении." Попробовал
Код
DATEPART(YY,База_данных.`Дата время`)
Microsoft Query выдало сообщение "Слишком мало параметров. Требуется 1." Если кто нибудь знает, подскажите что это за параметр и как его записать. Если пишу
Код
DATEPART(DD-MM-YY, База_данных.`Дата время`)
то сообщение "Слишком мало параметров. Требуется 3."
Dima S, у меня Офис 2010. Изменил запрос в Блокноте:
Код
XLODBC
1
DBQ=D:\Загрузки\База данных.xls;DefaultDir=D:\Загрузки;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;
SELECT База_данных.`Дата время`, DATE_FORMAT(База_данных.`Дата время`,'%Y-%m-%d') AS 'Дата' FROM `D:\Загрузки\База данных`.База_данных База_данных GROUP BY База_данных.`Дата время`
Дата время Дата
При выполнении запроса Microsoft Excel выдает сообщение "[Microsoft] [Драйвер ODBC Excel] Неопределенная функция 'DATE_FORMAT в выражении." Dima S, скопируйте пожалуйста ваш запрос из Блокнота. Может у нас разные Driver.
результат выглядит как дата, но Excel его воспринимает как текст. Пробовал
Код
Format(поле_даты, 'dd.mm.yyyy')+0
Microsoft Excel выдает сообщение "[Microsoft][Драйвер ODBC Excel] Несоответствие типов данных в выражении условия отбора." Мне надо, чтобы результат был или дата или целое число (округленное до меньшего целого значения). Ведь для Excel 15.02.2015 19:12:00 = 42050,8, а 42050 = 15.02.2015. Может можно
XLODBC
1
DBQ=D:\Загрузки\База данных.xls;DefaultDir=D:\Загрузки;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;
SELECT DateSerial(Year(`Дата время`),Month(`Дата время`),Day(`Дата время`)) As 'Дата', Count(`Дата время`) AS 'Счёт' FROM `D:\Загрузки\База данных`.База_данных db GROUP BY DateSerial(Year(`Дата время`),Month(`Дата время`),Day(`Дата время`))
Дата время Дата