在写查询功能的过程中遇到一个这样的问题:按日期范围查询,sql语句是:where dt>=用户选择起始日期&&dt<=用户选择结束日期。数据库中的数据如图1,我选择的测试数据起始时间是2008-01-06结束日期是2009-06-01。期望的结果应该能查出第一条数据。执行sql语句并无错误,但是查询到的结果为空。在网上查找原因,这才知道字符串时间比较大小是按照数字一位位比较的。只有格式对应的字符串才能比较大小。用户选择的时间格式是YYYY-MM-dd而数据库数据的格式是YYYY-M-d,比较日期大小时出错。

图1

这时的解决办法是把数据库中数据的格式更改为YYYY-MM-dd。问题来了。

用户用的数据库是Sqlserver,因开发需要我们公司用的是Sqlite数据库,需要将用户的Sqlserver数据表导入到我们的Sqlite数据库。SqlServer数据库中时间格式是YYYY-MM-dd HH:mm:ss(SqlServer数据库会把插入的datetime类型数据自动规范成YYYY-MM-dd HH:mm:ss类型)导入时我选择的是Navicat Premium工具。导入数据成功,在Sqlite中打开数据表时发现表中数据是YYYY-M-d格式。原因是Sqlite数据库不支持datetime类型的数据,因此数据库中dt是Text类型,不能像Sqlite那样自动规范日期字段格式。如图1:Sqlite中数据是2009-6-1没有补0,测试数据选择的结束日期2009-06-01,比较时6>0,所以数据库第一条数据没有查询出来。

解决办法是:先把SqlServer中的数据导入到Excel中,再把.xls导入到Sqlite数据库。

1.把SqlServer中的数据导入到Excel中。导入之前先新建一个Excel文档,把数据库中的字段名写到第一行作为列头(即把此文档作为数据导入的模板)如图2。导出时使用SqlServer自带的导出数据功能,具体方法不再详细叙述。在选择目标时,Excel文件路径选择建好的Excel文档,首行包含列名称项可选可不选如图3。

                               

图2                                                                                                        图3

注意:如果不在导出之前写上列头建好Excel模板,导出时会报错如图4。如果导出的日期时间仍不会补0,尝试新建Excel模板,选中日期列右键设置单元格格式为文本,然后重复以上步骤。

图4

2.最后将导出成功的Excel文档导入到Sqlite数据库,使用Navicat Premium工具即可做到,使用该工具导入时可选择日期时间类型数据的分隔符是-还是/。具体导入方法不再叙述。

最新文章

  1. C#的循环语句
  2. 10个优秀的 HTML5 &amp; CSS3 下拉菜单制作教程
  3. C#之LinQ数据库
  4. Azkaban 2.5.0 job type 插件安装
  5. 运行WampServer时,提示Exception Exception in module wampmanager.exe at 000F15A0.解决办法
  6. C/C++预处理和编译
  7. Java OCR 图像智能字符识别技术,可识别中文
  8. MATLAB中为控件(uicontrol)绑定Callback函数(回调函数)
  9. mongodb数据库调试问题:‘db object already connecting, open cannot be called multiple times’
  10. Linux系统小问题解决总结
  11. [面试没答上的问题1]http请求,请求头和响应头都有什么信息?
  12. 【机器学习】主成分分析法 PCA (I)
  13. Java 动态字节码技术
  14. spark on yarn 集群部署
  15. Java架构师最关键三个思维转变方式,框架的合理运用
  16. MySQL常用SQL语句优化
  17. signapk.jar工具及系统platform密钥,platform.pk8 platform.x509.pem
  18. PyQt4(使用ui)
  19. [翻译] M13ProgressSuite
  20. 前端 网络三剑客之html 02

热门文章

  1. JQuery的click,trigger触发a标签的click事件无效的问题分析
  2. 【C#】【分享】 XXX分钟学会C#
  3. Django1.11配合uni-app发起微信支付!
  4. Nginx Rewrite(伪静态)
  5. Centos 7 中yum安装Mysql和修改mysql配置
  6. Linux系统学习之 三:新手必须掌握的Linux命令3
  7. CentOS7安装Kubernetes
  8. vue项目初始化结构
  9. luogu P4238 多项式求逆 (模板题、FFT)
  10. (4)Spring Boot使用别的json解析框架【从零开始学Spring Boot】