为什么我从Access数据库输出来的时间插入到SQL server 数据库后 2015.08.30 01:33:45 时间01就变1了

为什么我从Access数据库读取出来的时间插入到SQL server 数据库后 2015.08.30 01:33:45 时间01就变1了 只有零点的会这样 数据类型是datetime的
我是菜鸟 下面是用D7写的 我必须要用固定的时间格式 下面是想从 access数据库中读取Value:=ADOQuery1.FieldByName('ShiJian').asstring;字段插入到SQL server 数据库ADOQuery2.Parameters.ParamByName('Ruhuitime') 现在access数据库中的时间字段是‘2015.08.30 01:33:45’到时插入到SQL中就变2015.08.30 1:33:45
我应该怎么才能实现一样呢
ADOQuery2.SQL.Add('insert into Huiyuan(ID,,Ruhuitime,address,city,Kano);
ADOQUERY2.SQL.Add('values(:ID,:RuhuiTime,:Address,:city,:Kano) ; ADOQuery2.Parameters.ParamByName('Ruhuitime').Value:=ADOQuery1.FieldByName('ShiJian').asstring;

这并没有什么关系。
SQL数据库主要功能是用来管理数据的,只要它存的数据正确即可。

当你以日期的格式定义了SQL的一个表的某字段时,你不必过于关心MS SQL在它的界面里查出来的日期的表现型式,实要关心它保存的数据对不对就可以了。比如时间:2015.08.30 01:33:45,它在SQL数据库里如果以日期类型来定义保存它的字段的话,显示出来一般是
“2015.8.30 1:33:45”,甚至是“2015/08/30 1:33:45”,也可能是别的形式,只要时间是对的就可以了。

至于你要让它按你的方式表现,那是前台程序的事了,一般来说,我们不会用MS SQL自带的管理器来直接使用SQL数据库,它只负责后面的事,就象一个专业仓库,它不执行对外展示和销售的责任。当前台程序从它那儿取到这个日期之后,前台再按需要的形式表现出来。比如用Delphi写的数据库管理软件,从SQL后台取到这个数据后,以你想要的格式显示。

如果你非得让它按你的想法保存,那你可以考虑先转换成字符串形式,把它当成一串字符存入SQL数据库中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-30
SQL数据库里存储时间时小时是用1-24来表示,不会用01这种方式,你若需要使用这种方式可以这样做:
convert(varchar(19),时间列,120) as 新时间列
相似回答