Объединение двух значений в Insert – SQL

Я пытаюсь выполнить то, что кажется чем-то простым, но я не могу найти решение – я, вероятно, неправильно его формулирую.

У меня есть стороннее программное обеспечение, которое выводит дату и время как два отдельных значения, одно для даты и другое для времени, и я должен иметь возможность INSERT эти данные как одно поле datetime в SQL.

Программное обеспечение сторонних разработчиков построено на проприетарном языке на основе .NET и с использованием SQL Server 2005.

Вот мои два значения в программном обеспечении:

 let cbdate1 = cbdate let cbtime1 = cbhr & ":" & cbmn & ":00 " & ampm 

И тогда SQL будет выглядеть так:

 DOSQL "INSERT INTO Leads (DateTimeField) VALUES (cbdate1 + ' ' + cbtime1)" 

По существу, я пытаюсь объединить два значения при вставке в таблицу. Это не работает, и я не могу направить себя, чтобы найти подходящий ответ.

Дополнительная информация:

Дата (cbdate1) представляется как «MM / DD / YYYY», и время просто объединяется, как представлено «HH: MM: 00 AM»

В настоящее время вы используете двойные кавычки, вместо этого вы должны использовать одинарные кавычки, поскольку это допустимая строка в SQL.

  DOSQL "INSERT INTO Leads (DateTimeField) VALUES (cbdate1 + ' ' + cbtime1)" 

Редактировать:

Теперь, если у вас возникнут дополнительные проблемы, это может быть связано с тем, что ваш DateTimeField является datetime . Теперь вы можете после конкатенации конвертировать или передать строку в правильный формат .

Подобно:

  DOSQL "INSERT INTO Leads (DateTimeField) VALUES (Convert(datetime, cbdate1 + ' ' + cbtime1))" 

Редактировать # 2:

Без 24-часовой части вам понадобится формат mon dd yyyy ex: 22 октября 2012 года. В противном случае вам, возможно, придется попробовать и получить часть времени в формате 24 часа.

Сначала соедините значения даты и времени вместе с исходным кодом, а затем вставьте одно значение в базу данных. Вы не говорите, какой язык программирования вы используете, поэтому я не могу сказать вам, как это сделать. Однако это просто сделать на VB6 и любом языке .NET.

То, что вам нужно сделать, – объединить строки вместе, а затем использовать как тип даты. Убедитесь, что строки находятся в правильном формате. (например, 01-01-01, 01/01/01 и т. д.)

 INSERT INTO LEADS (DateTimeField) VALUES (CAST((cbdate1 + ' ' + cbtime1) as datetime) 

Обратитесь к msdn для форматов вывода в зависимости от того, что вы хотите.

http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx

Interesting Posts

При выборе списка функций из SQL Server 2008 Routine_body = External, но все остальные данные NULL

Попытка выбора строк и включение первых двух отличных ненулевых значений из 4 столбцов

Обеспечение целостности данных в SQL Server

Баланс акций в день

LINQ to SQL "1 из 2 Обновлено не удалось" на "SubmitChanges ()"

Возможно ли построить этот запрос на обновление sql без обертывания его курсором?

Как написать запрос для вставки данных в две таблицы с отношениями внешних ключей в SQL Server?

Выпуски SQL Server 2008 и Visual Web Developer 2008: подключение к сбою DB!

Как получить первую 1 запись каждого группового заказа по описанию в SQL Server с помощью linq

Как найти значение в таблице и вставить его в другую таблицу?

Два внутренних соединения с одинаковыми таблицами

Если NOT EXISTS в SQL не работает

Синхронизация в реальном времени от sharepoint к серверу sql

SQL – обновлять строки между двумя значениями в столбце

Вставка нескольких строк в один SQL-запрос?

Давайте будем гением компьютера.