SQLite: 关于日期的标准化问题
SQLite在日期上和有些SQL不太一样,不管是查询还是数据本身,都有自已的特定的要求。这个要求就是,日期一定需要满足标准化要求。
以下用Julia语言来进行说明。
一、不是标准化的日期数据输入
我们做一个试验,日期格式是2014-9-15之类,并不是标准的2014-09-15,2014-10-06类。共insert 四条数据,包括日期类的数据。
using SQLite;
db=SQLiteDB("C:\\Users\\Administrator\\Desktop\\sqliteData\\sqliteDB.db")
query(db, "CREATE TABLE newTest (DTime VARCHAR, Price Float)") # 建立一个新的表,newTest
append(db,"newTest",["2014-9-15T09:15.123" 3056.50]) # 在 insert 一条不标准的日期数据格式
append(db,"newTest",["2014-9-15T09:16.123" 3066.50])
append(db,"newTest",["2014-9-16T09:18.123" 3076.50])
append(db,"newTest",["2014-10-6T09:18.123" 3076.50])
在这情况下,
如果你用这样的标准的查询条件,其结果,可能是数据库没有反应,要么就是不正常返回。
“SELECT * FROM newTest WHERE DTime> '2014-09-15'”
二、不是标准化的日期查询条件
相反,假定我们在insert 时,是标准的数据输入,但是在查询是,查询条件不标准的话,也是不行的。
不标准的查询格式:
SELECT * FROM newTest WHERE DTime> '2014-9-15' -----看到没,9前面没有带0呀,坑爹的地方,一定要注意!
总结:在日期上,每个小于10的(MM,DD)一定要在前面补上0,这个在数据输入和查询时都至关重要。
三、查询
数据格式对了,在查询上也需要注意。
假定DTime是VARCHAR格式,查询条件可以是
SELECT * FROM newTest WHERE DTime>date("2014-09-17")
SELECT * FROM newTest WHERE DTime>'2014-09-17' -----单引号
但不接受这二种格式,感觉有点怪!
SELECT * FROM newTest WHERE datetime(DTime)>datetime("2014-09-17")
SELECT * FROM newTest WHERE date(DTime)>date("2014-09-17")
再次总结,SQLite在日期上,有点个性,感觉有点怪。
SQLite: 关于日期的标准化问题相关推荐
- SQLite 的日期时间函数
最近在做一个Android里边SQLite数据库的一个统计功能,需要取当日.当月的数据信息,用到了SQLite的日期函数,百度了一下,把找到的内容共享出来,希望对大家有用. 先共享一个示例:selec ...
- Access、SQLServer以及SQLite的日期时间差计算
日期:2022年04月19日 作者:Commas 注释:整理了一下不同数据库日期时间差的计算资料,有点偷懒,随手记录一下.如果有什么讲得不对的地方,望各位看官不吝赐教,谢谢 ^ - ^ 目录 文章目录 ...
- 实现sqlite datediff日期时间相减(日期差)的方法
sqlite里有个julianday函数转化后可以直接相减,得到的结果是以天(day)为单位数值,如果不足一天会以小数表示.于是想到应该可以用来换算成时间,即可以进行时间比较,比如要计算精确到hour ...
- sqlite 日期格式与排序问题
1.sqlite没有日期格式,一般做为字符串处理 如果需要日期计算,使用日期时间函数 日期时间字段为字符串,必须保证存储字段时,其格式为:YYYY-MM-DD HH:MM:SS 比如这种: 2019- ...
- SQLite日期时间函数
SQLite日期时间函数 SQLite支持以下五个日期时间函数: date(timestring, modifier, modifier, -) time(timestring, modifier, ...
- SQLite 函数大全
2019独角兽企业重金招聘Python工程师标准>>> SQLite 函数大全 发表回复 abs(X) 返回参数X的绝对值. coalesce(X,Y,-) 返回第一个非空参数的副 ...
- java 时间处理_JAVA处理日期时间常用方法
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了 ...
- 分别对时分秒加减的java_Java中关于获取时间(日期)的总结大全
文章目录 1.相关类 1.1 java.util.Date 1.2 java.text.DateFormat(抽象类) 1.3 java.text.SimpleDateFormat(DateForma ...
- android java标准时间_Android 时间 日期 相关
一.概念 参考时间标准总结 IAT.UT.UTC.GMT.夏令时 1.格林尼治标准时间:Greenwich Mean Time(简称 GMT) GMT 以格林尼治天文台经线为 0 度经线,将世界分为 ...
- python 时分秒毫秒_第一篇:Python处理时间日期
个人入门学习笔记的整理,有利于提升自己学习和归纳的能力. 希望对和我一样的入门菜鸟有帮助. 介绍:time.datetime是处理时间日期常用的库,datetime的time的再次封装,使用起来更加的 ...
最新文章
- Web GIS离线解决方案
- Exchange 2013恢复已禁用用户邮箱
- 推荐:浏览器是怎样工作的?
- 耍了一下 UncaughtErrorEvents
- mysql 查询此时日期_mysql 查询日期
- js--a标签带参数href取值
- 2017.3.22 小z的袜子 思考记录
- 双水泵轮换工作原理图_周宁气压给水设备控制柜原理图
- Timeline Storyteller 现已加入自定义图表库
- 手机移动端浏览器或PC端浏览器莫名出现计算错误或莫名返回到登录界面等问题的解决.
- 高级JAVA开发 分布式系统部分
- Ant Design与Ant Design pro入门
- g6的minimap中的配置_Minimap 缩略图
- Unity 游戏入门 九、 精灵动画 Sprite Animation
- LaMDA 是有感觉的吗?
- Python中的关键字的用法
- 用ps帧动画整个放置身份证示意图
- DSG SuperSync大型数据库高性能复制平台产品介绍
- JAVA中随机数的生成方法
- Android组件系列——Content Provider