`
chengyue2007
  • 浏览: 1468153 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mysql和sql时间 字段比较大小的问题

阅读更多

不能用两个字符串比较的小的方法来做。例如:‘2010-10-20’ > ‘2010-12-15’

正解:都是  ,   后面的时间- 前面的时间

mysql

select count(*) from table where  timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00') > 0

server sql

select count(*) from table where DATEDIFF([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19')  > 0

 

1.           因此必须用sql 的时间函数和字符串转化进行比较。

对于mysql

(1)       如果数据库表中的字段是日期格式的

select name,cdate  from user where   DATEDIFF('2010-1-10' , sysdate()) > 0

也可以用(这里会自动的将字符串转化成日期格式然后想减,返回天数,前减后,小于0说明前面的日期小):

select name,cdate  from user where   DATEDIFF('2010-1-10' ,'2010-1-11') ;

可以不用日期和字符串函数的转化就可以了。

msql的转换函数:CAST('2010-10-10' AS DATE)

BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
示例:

SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);

mysql返回两个时间的秒的格式为:

select DATEDIFF('2010-1-10' ,'2010-1-11');

select unix_timestamp('2008-1-1 11:20:50') - unix_timestamp('2008-1-1 12:10:20');

select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00');

select timestampdiff(second,'2008-08-01','2008-08-08'); 

(2)       如果数据库表中的字段是字符格式的

如果上面的可以自动的转换的话我们就没有必要谈是字符格式的问题了。

对于SQL

server sql相对来说就比较宽泛一些了可以得到相差的时间精确到秒了。(无所谓字符还是时间格式了)

SELECT DATEDIFF([year], GETDATE(), '2004-09-18')  返回值:-6 ,说明是后减前 mysql相反的。

select datediff(day,getdate(),'2004-09-18')

SELECT DATEDIFF([hour], '2004-09-01', '2004-09-18')

SELECT DATEDIFF([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19')  

分享到:
评论

相关推荐

    Oracle_Mysql_Sqlserver字段类型转换参考

    Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_...

    MySQL数据表添加字段

    一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下: ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]; 对语法格式的说明如下: <表名> 为数据表的名字; <新字段名> 为所要...

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、查询出所有数据进行分组之后,和重复数据...

    MySQL SQL高级特性 字段约束-索引-视图-外键学习实践

    MySQL SQL高级特性 字段约束-索引-视图-外键学习实践,很不错

    php mssql扩展SQL查询中文字段名解决方法

    一、问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名)。其实操作就是对SQLServer查询记录,插入到MySQL里...

    Mysql的longblob字段插入数据问题解决

    在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...

    sql_按照某一个字段进行去重后获取全部字段

    sql语句:按照某一个字段进行去重后获取全部字段。

    MySQL查询把多列返回结果集拼装成一个字段

    例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生女生姓名,通过关联查询肯定是无法实现的. 解决方式 1首先我们了解上述相关使用场景之后,结合相关如下相关示例 单个列表...

    MySQL中使用SQL语句对字段进行重命名

    MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句。 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>。 现在我们来...

    解析mysql不重复字段值求和

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...

    经典的SQL查询语句,将内容作为字段查询

    经典的SQL查询,将内容作为字段查询,包含图片和SQL语句,很简单

    手机号码归属MySQL数据库SQL文件

    手机号码归属MySQL数据库SQL文件(14M): 导出命令: mysqldump -uroot -p123456 test t_mobilephone_number > /root/mobilephoneNumber.sql 手机号码段:13*;15*;145、147、186、187、188、189 包含记录数:...

    解决python写入mysql中datetime类型遇到的问题

    在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值。python程序中有对应的一个datetime变量dt。 现在需要往mysql数据库中添加记录,每次添加时,将datetime型变量dt写入mysql数据库tablename表中...

    mysql 查询表中多少个字段

    mysql 查询表中多少个字段

    sqoop从mysql到hive的时间字段问题

    一、问题发现与分析 ...经过对比:sqoop在转换MySQL的datatime字段类型为hive的string时会出现问题:默认先转为对应时间戳,再转换为北京市区时间,就会使时间多8小时。 解决办法有两个: 1、在sql里将时间字段转换为

    SQL语句处理字段前的0

    SQL语句处理字段前的0,字段有的0不限长度。

    MySQL和Oracle的字段截取问题.txt

    解决截取问题的思路必须符合业务逻辑和字段的排列逻辑,考虑必须长远,脚本类的代码如果只是简单的学习,可以通过事务控制,防止误删数据,查询语句比较复杂的可以考虑分层查询,并减少GROUP BY的使用来提高SQL执行...

    MySQL数据库:表的字段类型.pptx

    数据库和表的创建与管理 表的字段类型 课程目标 掌握 —— 不同数据类型的选择。 理解 —— MySQL支持的数据类型;...每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使

    模拟mysql的limit字段的sql处理函数

    SQL数据库不支持limit语法,利用逻辑处理函数模拟出来的思路,具体可照此改造。

    易语言mysql和SQLserver数据自动同步

    3.可以对源字段和目的字段进行映射,可以避免自动编码类的字段. 4.可以设置调度,类似于 SQL Server 的导入导出 5.每个任务的所有设置都保存在一个dst的配置文件里,数据库连接密码 进行加密。加密过程是自己写的。...

Global site tag (gtag.js) - Google Analytics