我试图按如下方式创建一个程序:
CREATE PROC prc_invoice_add
AS
BEGIN
insert into INVOICE
(INV_NUMBER,CUS_CODE,INV_DATE)
VALUES (8006,1000,cast('30-APRL-08 00:00:00 AM ' as DATETIME2))
END
但每当我执行此程序时,都会弹出以下错误消息:
“从字符串转换日期和/或时间时转换失败”。
答案 0 :(得分:2)
试试这个,
CREATE PROC prc_invoice_add
AS
BEGIN
insert into INVOICE
(INV_NUMBER,CUS_CODE,INV_DATE)
VALUES (8006,1000,cast('30-APR-08 00:00:00 AM ' as DATETIME2))
END
您的日期格式为dd-MMM-yyyy,格式为APRIL为apr。
答案 1 :(得分:1)
问题出在 Aprl
将其传递为 4月或 4月
试试这个
CREATE PROC prc_invoice_add
AS
BEGIN
insert into INVOICE
(INV_NUMBER,CUS_CODE,INV_DATE)
VALUES (8006,1000,cast('30-APRIL-08 00:00:00 AM ' as DATETIME2))
END
答案 2 :(得分:0)
使用转换,专门用于投射日期时间。
CONVERT(DATETIME2,'30-APR-08 00:00:00 AM',113)