2013-06-19 191 views
0

我想将dd/mm/yyyy日期格式插入到我的数据库表中。在数据库日期列中的数据类型是日期和我的SQL INSERT语句:将dd/mm/yyyy日期格式插入数据库表

INSERT INTO sm_product(productName, productDescription, productPrice, productQuantity, productStatus) 
VALUES ('" + name + "', '" + desc + "', " + price + ", " + quantity + ", 'Available', '" + date + "'"; 

不过,NetBeans显示我的错误,当我加入日期变量到SQL语句。

您的SQL语法错误;检查对应于你的MySQL服务器版本在1号线

使用近“”正确的语法手册和它存储日期:

周三6月19日17时42分26秒SGT 2013

而且我得到了在用户界面我的DD/MM/YYYY日期格式:

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = new Date(); 
dateFormat.format(date); 

这种格式是不是我想要的。所以我想知道如何修改我的SQL语句来解决问题。

在此先感谢。

+0

如果你真的想另一个日期格式。你可以在你的底座中使用一个varchar列,并在参数中给出一个格式化的字符串。 –

+0

但我认为使用日期数据类型更好?因为我需要从以后的日期获取月份。我可以用varchar做到这一点吗? –

+0

要获得月份,您可以拆分字符串并获取MM。但不要忘记,我不知道这是否是更好的解决方案,但它可以是一个解决方案。 –

回答

0

如果您正在使用SQL Server,你可以使用

REPLACE(CONVERT(VARCHAR(11),date,105),'-','/') 
+0

雅我正在使用它。所以我修改我的插入语句为:“INSERT INTO sm_product(productName,productDescription,productPrice,productQuantity,productStatus)VALUES(''+ name +'','”+ desc +“',”+ price +“,”+数量+“,'Available','”+ REPLACE(CONVERT(VARCHAR(11),date,105),' - ','/')+“'”;? –

+0

是的......它应该工作.. –

+0

但是这里有一个错误在varchar那里。我使用netbeans编码 –

0

如果插入以下格式蜇到查询,记录将被更新

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 
Date date = new Date(); 
String formatDate = dateFormat.format(date);