| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2418 人关注过本帖
标题:SQL日期比较
取消只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:3 
SQL日期比较
看前人设计的数据库里栏位属性设置为datetime~
若将PK以此属性定义~而后在读取数据库资料时要以时间先后排序时~
又会发生资料无法排序先后的问题~

datetime的时间格式为 : 2012-08-30 09:07:07.456
內GetDate()这个函式取得的~

1.请教是否这datetime无法做大小比较排序?
2.后来想到说干脆改用unixtime来代替~但是一想到要转来转去就很烦~
  转换和时间差...等这部分网上有找到C#的代码~但是VB的就残念了~
3.除了拿别的方法(依序自动生成唯一识别码数字)当PK外~真的没人拿datetime当PK的吗?
搜索更多相关主题的帖子: SQL 比较 datetime 时间 排序 
2017-07-04 18:23
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
因为已经到达毫秒阶段了~要出现重复机率实在很低~
当然测试时用程序跑循环~可能因为速度太快而出现重复~
但是在线上实际应用上~很难有这种状况发生~

当然在尾端再加入随机编码更安全~但是我的问题是~这组字符串要怎么去做大小排序~
当然我想过干脆使用unixtime来搞~只是这样一来~每次都要转来转去~实在很麻烦~

unixtime最小单位是秒~风险就又更高~数字做大小比较总是比文字来得简单~

不要選我當版主
2017-07-05 13:29
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
这我得拿到上试试~
我现在是用自动生成的序号去排先后~
只是想未来又遇到这状况时要怎么解决~

图片附件: 游客没有浏览图片的权限,请 登录注册


不要選我當版主
2017-07-05 13:38
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用mywisdom88在2017-7-5 13:36:08的发言:

 
因为是主键,不能有重复的,哪怕是机会很低,也不容许。

不然就用双主键啰~

不要選我當版主
2017-07-05 13:39
快速回复:SQL日期比较
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015897 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved