77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
||||||
1 | ||||||
SQL and datetime11.06.2015, 10:12. Показов 1953. Ответов 6
Метки нет (Все метки)
Доброе утро бойцы!
Подскажите мне такую вещь.... есть у меня значится БД в кoторой одна из таблиц содержит столбец типа datetime Пишу запрос ....например
пробовал писать в дате что-то типо %12.09.2014% или 12.0_.2014 10:10:00 .... выдает ошибку :Ошибка преобразования даты или времени из символьной строки. Подскажите как быть... спс
0
|
11.06.2015, 10:12 | |
Ответы с готовыми решениями:
6
Font in datetime (MS SQL) MS SQL Что не так с datetime? MS SQL, Perl, Datetime, BLOB Работа с datetime в SQL и ASP |
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
|
|
11.06.2015, 10:21 | 2 |
1
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|
11.06.2015, 10:27 [ТС] | 3 |
ооох далеко это не случайность))))) кучу времени сидел и писал по разному даты ))) он меня все время посылал.... даж с бд копировал и не подходило там ячейка выглядит 2014-09-12 10:10:00.000 ...... но потом я через C# обратился к БД забрал значение и собственно все заработало.....но вот как заменить часть даты осталось загадкой
0
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
|
||||||||||||||||
11.06.2015, 10:32 | 4 | |||||||||||||||
Сообщение было отмечено OTT как решение
Решение
Без времени:
Прежде всего надо внимательно прочитать документацию А потом применять универсальные форматы 'YYYYMMDD hh:mm:ss.nnn', 'YYYY-MM-DDThh::mm:ss.nnn' и т.п. Всегда!
1
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|
11.06.2015, 10:35 [ТС] | 5 |
Спасиб!!! не могли б для понимаю объяснить смысл CAST([DATE] AS DATE)
и вот за месяц идет запрос..... типо дата больше или равна заданной и меньшее DATEADD(MONTH,1,@M).... как это правильно понять? типо добавляем 1 месяц в дату?
0
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
|
|
11.06.2015, 10:49 | 6 |
1. Смысл простой - в типе DATE нет времени!
2. Больше и равна заданной, но! Задано-то первое число нужного нам месяца! Значит, начиная с 0 часов 0 минут 0 секунд этого месяца 3. Добавляем месяц и берём всё, что строго меньше 0 часов 0 минут 0 секунд этого (то есть, следующего относительно заданного) месяца! Ясно, что отбираем весь нужный месяц, не обращая внимания на время. Я вот не понимаю, что здесь непонятного! Добавлено через 6 минут Забыл пояснить, что все эти манипуляции для того, чтобы в запросе можно было бы применить индекс по дате, если его, разумеется, сделать. Такое условие (предикат) обозначают обычно аббревиатурой SARGable К примеру, если будете использовать условия, накладываемые на функции DATEPART(), YEAR(), MONTH(), то использовать индекс для оптимизации запроса сервер не сможет.
1
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|||||||||||
15.06.2015, 10:40 [ТС] | 7 | ||||||||||
Спасибо с этим разобрался. А как с минутами правильно работать ? например мне каждые 20 надо а не все .
И еще хотел спросить на счет '%' и '_'. Их не используют в дате ? Добавлено через 17 минут
Добавлено через 33 минуты
Что-то типо этого... ток в одну таблицу и не один раз прибавлять минуты
0
|
15.06.2015, 10:40 | |
15.06.2015, 10:40 | |
Помогаю со студенческими работами здесь
7
Как в T-SQL перекодировать datetime в nvarchar? ms sql 2012 datetime выборка по времени По каким правилам MS SQL преобразовывает число в datetime? MS SQL. Преобразование значений при выводе данных из столбца datetime Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |