Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2013, 18:29   #1
alexusankov
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 66
По умолчанию MS SQL не хочет insert datetime :(

Здравствуйте. Столкнулся сегодня с такой странностью. Есть проект на Delphi, перетаскиваю его на С, в процессе работы заметил, что в БД, которая под MS SQL неправильно вставляется дата в поле типа datetime
Даже, когда выполняю из среды MS SQL management
Суть : есть поле datetime. Хочу в него вставить дату, типа
Код:
09.12.2013 0:00:00
Для этого делаю :
Код:
insert into dbo.debug (SaveData) values (09-12-2013)
В итоге получаю :
Код:
25.06.1894 0:00:00
Как только не крутил дату, не знаю, что делать.
Как вариант - можно пользовать GetData(), но мне нужно именно :
09.12.2013 0:00:00
Каким запросом можно вставить подобное?
alexusankov вне форума Ответить с цитированием
Старый 09.12.2013, 19:30   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно
values ('20131209') или values (convert(datatime,'09-12-2013',105))
Из среды дельфи лучше параметризированный запрос
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2013, 22:13   #3
alexusankov
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Можно
values ('20131209') или values (convert(datatime,'09-12-2013',105))
Из среды дельфи лучше параметризированный запрос
Из дельфи прекрасно работает, но к сожалению ObjectPascal не подходит для расширения приложения, посему переписывается на С.
values ('20131209') - выбрасывает ошибку, т.к. пробовал, это первый вариант из гугла.
Цитата:
values (convert(datatime,'09-12-2013',105))
105 - ???
P.s. ах точно , епрст! Увидел только что - values ('20131209')
Одинарная кавычка! Точно! В сорсе ObjectPascal она заэкранирована мной была как #39, вот почему сразу не нашел причины, не бросилось в глаза! А в Сях по привычке использовал двойную. Совершенно забыл этот нюанс, вот что значит год Pascal не использовал, привык к С-way """
Балин, какой нелепый нюанс!
Аватар - спасибо огромное!

Последний раз редактировалось alexusankov; 09.12.2013 в 22:18.
alexusankov вне форума Ответить с цитированием
Старый 09.12.2013, 22:19   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
105 - ???
Ну справку посмотреть посмотреть по CONVERT кто мешает, там все возможные значения этого параметра описаны (гугл SQL CONVERT MSDN)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2013, 22:26   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

09-12-2013 = -2016
eval вне форума Ответить с цитированием
Старый 09.12.2013, 22:46   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
09-12-2013 = -2016
Что это? Подробней
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2013, 23:40   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

это тс так хотел вставлять
Цитата:
insert into dbo.debug (SaveData) values (09-12-2013)
eval вне форума Ответить с цитированием
Старый 09.12.2013, 23:42   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А-а, дошло. А я уж думал какую-то изюминку узнать об сиквеле
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
datetimepicker sql server insert МирзоАкмал Общие вопросы Delphi 9 08.05.2013 11:19
Insert SQL rokotokobot БД в Delphi 10 20.11.2012 22:42
Insert sql hunter03 Помощь студентам 0 15.12.2011 20:48
Синтаксис sql insert delphi detalik БД в Delphi 3 04.05.2011 19:27
Как работать с полем DateTime в MS SQL? Stilet SQL, базы данных 5 20.08.2009 00:10