zoukankan      html  css  js  c++  java
  • 170406回顾-SQL Server的smalldatetime类型比较

    在比较SQL Server的类型为smalldatetime字段时出现下面的错误:将 expression 转换为数据类型 smalldatetime 时出现算术溢出错误

    正确的比较方法如下:将long型转换为时间格式的字符串,再与smalldatetime类型的字段比较

    SELECT * FROM tablename WHERE EditFlag > '2017/3/27 11:22:00' order by EditFlag

    尝试了使用SQL Server的内部函数将long转换后比较,但是失败了:

    sql1 = SELECT * FROM dbo.BC_patrolrecord WHERE EditFlag > date(149058492000) order by EditFlag

    根据下面链接中的内容再次进行了尝试:

    http://www.cnblogs.com/leoning/archive/2011/01/04/1925229.html

    将long除以1000、再除以60,将其转换为分钟数进行比较,也失败了:

    sql1 = SELECT * FROM dbo.BC_patrolrecord WHERE EditFlag > 149058492000/1000/60 order by EditFlag

    在SQL Server客户端工具中做了下面的尝试:看来还得想想怎么和数字比较

    select * from BC_patrolrecord where EditFlag > 149058492000; -- 失败

    select * from BC_patrolrecord where EditFlag > 149058492; -- 失败

    select * from BC_patrolrecord where EditFlag > 149058; -- 失败

    select * from BC_patrolrecord where EditFlag > 14905; -- 成功

    线索:“smalldatetime占4字节,精度1分钟,时间从1900.1.1到2079.6.6”有关系?

    每天1440分钟,从1900.1.1算起到现在大约有1440*365*116+1440*30*3+1440*7=X分钟,这个X远远大于149058了。

    下面是找到的另一篇文档,提到了一个convert函数:或可一试

    http://www.myexception.cn/sql-server/159157.html

  • 相关阅读:
    腾讯推出微信企业服务平台风铃
    WAP网页输入框的默认键盘类型控制
    asp.net+扫描仪+图片上传
    Web截屏插件
    java扫描仪上传文件
    web高拍仪图片上传
    网页中怎么实现客户端通过扫描仪把图像传到服务器上
    如何在Web页面里面使用高拍仪扫描上传图像
    B/S选择文件夹上传
    用java实现文件的断点续传并发下载
  • 原文地址:https://www.cnblogs.com/luo630/p/6676795.html
Copyright © 2011-2022 走看看