为了账号安全,请及时绑定邮箱和手机立即绑定

SQLite 到 MS SQL 日期时间

SQLite 到 MS SQL 日期时间

慕田峪9158850 2022-11-10 16:23:15
我正在使用 SQLite 存储一些日期时间。我的 SQLite 数据库有以下创建表String CREATE_METERREADS_TABLE = "CREATE TABLE " + TABLE_METERREADS + " ("                + KEY_MYID + " INTEGER,"                + KEY_MYNUMBER + " FLOAT,"                + KEY_MYDATE + " TEXT" + ")";        sqLiteDatabase.execSQL((CREATE_METERREADS_TABLE));我正在使用以下内容创建日期并将其保存在具有类型变量的类中String:    Date date = Calendar.getInstance().getTime();    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateRead = dateFormat.format(date);然后,我使用以下存储过程将其发送到 SQL Server:INSERT INTO MyData(ID, MYNumber, MYdate)    VALUES (@MYID, @MYNUMBER, cast(@MYDATE as datetime))由于某种原因,日期和月份正在切换,所以当我创建日期时,您可以看到上面的格式,但是当它被放入 SQL 服务器时,它显示为2019-07-05 08:51:07.000 5 月 7 日,当我进行插入时。
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

不要使用通用转换函数从字符串转换,而是使用 convert 函数,该函数允许您设置要用于该转换的确切日期格式。

INSERT INTO MyData(ID, MYNumber, MYdate)
    VALUES (@MYID, @MYNUMBER, convert(datetime, @MYDATE, 120)

在您的情况下,格式为 120(ODBC 规范):yyyy-mm-dd hh:mi:ss

在这里你有一个完整的列表: https ://www.w3schools.com/sql/func_sqlserver_convert.asp


查看完整回答
反对 回复 2022-11-10
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

这是由您的日期格式问题引起的。请尝试更换

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");


查看完整回答
反对 回复 2022-11-10
  • 2 回答
  • 0 关注
  • 202 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号