数据库中的存储日期的字段是String类型的,我该怎么判断它们的大小?

streamlong 发布于 2011/08/01 17:25
阅读 6K+
收藏 0
数据库中的存储日期的字段是String类型的,我该怎么判断它们的大小?
加载中
0
jobell
jobell
日期按照一定的格式存储,然后直接比较字符串大小就可以了。
streamlong
streamlong
@joliny : 嗯
freish
freish
如果日期那边是char或者varchar2格式,比较的是字符串吧
b
beyondwonder
@streamlong : 可以
jobell
jobell
可以的,只要格式统一就可以。
streamlong
streamlong
yyyy年MM月dd日,这种格式也能比较吗???
0
绿悠悠
绿悠悠

Java 的话,读取 ResultSetMetaData

然后调用 getColumnDisplaySize 方法即可

streamlong
streamlong
虽是java,但是使用的hibernate自带的比较方法。
0
雷志伟
雷志伟
应该把设计人员拉出去打PP...
0
qycms_cn
qycms_cn

直接比就可以了。

如dateline是保存你的日期,可以这样dateline> '2011-08-02  08:00:00'

0
freish
freish
用数据库函数啊,如oracle的todate
freish
freish
@streamlong : 这就不太清楚了。。
streamlong
streamlong
谢谢,不过不是采用的jdbc式编程,使用的是hibernate自带的比较方法,在这里面也能使用todate()吗,我持怀疑态度???
0
streamlong
streamlong

 : 虽然存储类型是String的,而且是yyyy年MM月dd日,但是字符串还是能够比较的,"a"< x <"b"(这种比较可真够强大的,纪念纪念吖),由于输入的数据是yyyy-MM-dd的格式,所以需要通过SimpleDateFormat把它转化成目标格式,绕个弯就可以得到目标类型的值了。

0
wubotao
wubotao
可以直接比较啊。。。
0
puxc
puxc
mysql 有 str_to_date 函数,不过对于字符串格式要求比较严格,如果你的日子字符串不规则那么写自定义函数转datetime吧
0
wxmqwe
wxmqwe
oracle和postgresql应该都有to_char,to_date的函数.不建议字符串直接比较,除非当时存储的特别规范,位数都是相同的,比如2013年3月6号,是写为2013-03-06.这里的零必须不能少.否则你会杯具的发现结果时对时错
返回顶部
顶部