如果使用日期数据类型,如何插入到期日期列?

时间:2017-09-02 19:09:02

标签: sql date datetime stored-procedures

create table Products
(
    ProductID int primary key not null,
    Name varchar(50)not null,
    Unitprice money,
    ExpiryDate date
)

我的存储过程

alter procedure stp_products_insert
    (@productid int,
     @name varchar(50),
     @unitprice money,
     @expiry date)
as
begin
    insert into Products(ProductID, Name, Unitprice, ExpiryDate) 
    values(@productid, @name, @unitprice, @expiry)
end

应在20170810这里输入什么日期格式

exec stp_products_insert 123, 'goldwinner5kg', 150, ?

3 个答案:

答案 0 :(得分:0)

根据我的理解 由于ExpiryDate是DATE数据类型,因此您需要使用TO_DATE和正确的格式模型将文字转换为DATE。语法是:

TO_DATE('<date_literal>', '<format_model>')

答案 1 :(得分:0)

使用

DATEADD(day, 1, GETDATE())

取代日期。这将插入第二天的日期,如果您想输入其他日期,则代替1的日期。

答案 2 :(得分:0)

您应该按如下方式添加日期:

exec stp_products_insert 123, 'goldwinner5kg', 150, '2017-09-04'

以上SQL脚本适用于MS SQL Server