Формат даты

RRRoman
Дата: 26.02.2010 06:24:10
Приветствую гуру SQL! Подскажите пожалуйста...

В базе есть столбец "дата" в формате "2009-09-02 09:22:28.000"(Тип данных datetime).

Есть также дата в формате Windows FileTime, содержится она в 4-х столбцах в следующем формате:
DevTime_HI - 30061911 (Тип данных bigint)
DevTime_LO - 2393977344 (Тип данных float)
CompTime_HI - 30053497 (Тип данных bigint)
CompTime_LO - 904565888 (Тип данных float)
Надо в Excel экспортировать дату и время в два столбца
Появились два вопроса:
1. Как можно преобразовать дату из Windows FileTime в нормальный формат? или
2. Можно ли при экспорте в Excel cтолбец "дата" разбить на два - "Дата" и "Время", выполнить SELECT только по дате?
iap
Дата: 26.02.2010 09:23:42
RRRoman
В базе есть столбец "дата" в формате "2009-09-02 09:22:28.000"(Тип данных datetime).
Тип данных datetime НЕ хранится в описанном Вами формате.
Вы нарисовали просто одно из строковых представлений типа datetime.
RRRoman
Дата: 26.02.2010 09:56:54
Простите, но с SQL я знаком второй день... Тип данных datetime я посмотрел в свойствах столбца.
Мне нужно экспортировать данные в Excel за определенную дату (одни сутки). Я думал это сделать след. образом

SELECT * FROM table WHERE data = 'дата без времени'

Можно ли как то 'дата без времени' обозначить? Так мы просто выбираем данные за определенное число, но при этом надо, чтобы экспортировалась дата в Excel в два столбца отдельно: дата и время.

Проще конечно работать с датой в неизвестном мне формате FileTime, т.к. тут дата и время в отдельных столбцах. Вопрос только в том, как это преобразовать в нормальный понятный формат?

Версия сервера:
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Express Edition with Advanced Services on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)
iap
Дата: 26.02.2010 10:06:38
DECLARE @Date DATETIME = '20100226';

SELECT *
FROM [Table]
WHERE [DateTimeField] >= @Date AND [DateTimeField] < DATEADD(DAY,1,@Date);
Это будут данные за 26 февраля 2010 года.
iap
Дата: 26.02.2010 10:08:34
Совсем плохой стал...
Вот так хотел:
iap
DECLARE @Date DATE = '20100226';

SELECT *
FROM [Table]
WHERE [DateTimeField] >= @Date AND [DateTimeField] < DATEADD(DAY,1,@Date);
Это будут данные за 26 февраля 2010 года.
Хотя и с DATETIME работать будет, конечно...
iap
Дата: 26.02.2010 10:20:48
RRRoman,

прочитайте вот это. Поможет.
RRRoman
Дата: 26.02.2010 10:24:24
Огромное Вам спасибо!
RRRoman
Дата: 26.02.2010 13:13:02
Уважаемы iap, подскажите пожалуйста...
Пытаюсь вместо '20100226' подставить переменную в VBA, но ничего не получается. Тип переменной пробовал разный, без результативно...
Зайцев Фёдор
Дата: 26.02.2010 13:18:09
RRRoman
Уважаемы iap, подскажите пожалуйста...
Пытаюсь вместо '20100226' подставить переменную в VBA, но ничего не получается. Тип переменной пробовал разный, без результативно...

у вас ошибка в программе. код доступен?
iap
Дата: 26.02.2010 13:54:30
RRRoman
Уважаемы iap, подскажите пожалуйста...
Пытаюсь вместо '20100226' подставить переменную в VBA, но ничего не получается. Тип переменной пробовал разный, без результативно...
Про VBA ничего сказать не могу.