繁体   English   中英

将日期插入SQL数据库

[英]Insert date into sql database

我的输入日期格式为'%m-%d-%Y'(例如:12/12/2012),我的执行查询

"Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName)  values ('"+fname+"','"+lname+"','"+job+"',STR_TO_DATE('"+date+"', '%m-%d-%Y'),'"+salary+"','"+company+"')";

执行查询时,它将引发有关格式错误的错误

当我手动以这种格式(2012-12-12)插入日期时,它正在工作,因此我需要从2012年12月12日转换为2012年12月12日

使用DATE_FORMAT

以下脚本使用DATE_FORMAT()函数显示不同的格式。 now()示例

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')


Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName)  values ('"+fname+"','"+lname+"','"+job+"',DATE_FORMAT(NOW(), '%m-%d-%Y'),'"+salary+"','"+company+"')";

您必须考虑表的StartedDate字段的类型才能格式化输入的数据

然后使用DATEDATETIMETIMESTAMP类型的特定格式

DATE,DATETIME和TIMESTAMP类型

日期和时间功能

通过使用日期和时间函数上方列出的DATE_FORMAT ,然后区分字段类型的正确格式

DATE_FORMAT($datetoformat,'%Y-%m-%d');   // for date format
DATE_FORMAT($datetoformat,'YYYY-MM-DD HH:MM:SS');  // datetime format

据我所知,你说的输入日期看起来像

12/12/2012

但是你给

'%m-%d-%Y'

到STR_TO_DATE。 这对我来说不太合理。

你不应该给

'%m/%d/%Y'

到STR_TO_DATE?

在PHP中,您应该使用

    "Insert into employeedetails(FirstName,LastName,JobTitle,StartedDate,Salary,CompanyName)  values 
('".$fname."','".$lname."','".$job."','".date('d/m/Y')."','".$salary."','".$company."')";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM