在Insert - SQL上连接两个值

Rog*_*r00 2 sql sql-server syntax insert

我试图完成看似简单的事情,但我无法找到解决方案 - 我可能写错了.

我有一个第三方软件,它将日期和时间输出为两个单独的值,一个用于日期,另一个用于时间,我需要能够INSERT将该数据作为一个datetime字段输入SQL.

第三方软件基于.NET的专有语言构建,并使用SQL Server 2005.

以下是我在软件中的两个值:

let cbdate1 = cbdate
let cbtime1 = cbhr & ":" & cbmn & ":00 " & ampm
Run Code Online (Sandbox Code Playgroud)

然后SQL会像:

DOSQL "INSERT INTO Leads (DateTimeField) VALUES (cbdate1 + ' ' + cbtime1)"
Run Code Online (Sandbox Code Playgroud)

基本上,我试图在插入表格时加入这两个值.这不起作用,我无法指导自己找到合适的答案.

附加信息:

日期(cbdate1)显示为"MM/DD/YYYY",时间简单地按照"HH:MM:00 AM"加入

Lau*_*rke 6

您当前正在使用双引号,而应使用单引号,因为它是SQL中的有效字符串.

 DOSQL "INSERT INTO Leads (DateTimeField) VALUES (cbdate1 + ' ' + cbtime1)"
Run Code Online (Sandbox Code Playgroud)

编辑:

现在,如果您遇到进一步的问题,可能是因为您DateTimeFielddatetime数据类型.现在,您可以在连接转换或将字符串转换为正确的格式之后.

喜欢:

 DOSQL "INSERT INTO Leads (DateTimeField) VALUES (Convert(datetime, cbdate1 + ' ' + cbtime1))"
Run Code Online (Sandbox Code Playgroud)

编辑#2:

没有24小时的部分你将需要一个mon dd yyyy格式ex:2012年10月22日.否则你可能不得不尝试把时间部分变成24小时格式.