zoukankan      html  css  js  c++  java
  • 每日总结:sql 转换为int时发生算术溢出错误、DatePart()、DateAdd()、DateDiff()函数、Case when then

    1、将 expression 转换为数据类型 int 时发生算术溢出错误

    解析:

    这个问题的出现是因为数据超大而引起的,为解决这个问题,只需要将将其转换为比int型存储范围更大的数据类型即可,这里可以将其转换为18位的2位精度的小数即可,如下:

    Cast(字段 as decimal(18,2))

    1、  Datepart()函数

    该SQL函数主要用来获用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

    语法:DATEPART(datepart,date)

    date 参数是合法的日期表达式。datepart 参数可以是下列的值:

    datepart

    缩写

    yy, yyyy

    季度

    qq, q

    mm, m

    年中的日

    dy, y

    dd, d

    wk, ww

    星期

    dw, w

    小时

    hh

    分钟

    mi, n

    ss, s

    毫秒

    ms

    微妙

    mcs

    纳秒

    ns

    此外还有DATEADD() 函数

    在日期中添加或减去指定的时间间隔。

    语法

    DATEADD(datepart,number,date)

    date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

    dateadd 参数值和datepart函数的参数值一样

    DATEDIFF() 函数

    返回两个日期之间的天数。

    语法:

    DATEDIFF(datepart,startdate,enddate)

    startdate 和 enddate 参数是合法的日期表达式。

    Depart参数值和datepart函数的参数值一样

    2、  SQL Case when then

    Case具有两种格式:

    1)       Case sex

           When ‘0’ then ‘女’

           When ‘1’ then ‘男’

          Else  ‘未知’  end

    2)       Case when sex=’0’ then ‘女’

    When sex=’1’ then ‘男’

     Else ‘未知’  end

    这两种方法基本上功能都差不多,相对来讲第一种方法比较简洁,但是第二中方法比较灵活,可以进行复杂的判断

    Case when then 方法多用于多条件判断,比较常用的就像上边的例子,数据库中存0或1 来表示男女,在查询展示的时候使用case when then即可实现该效果、

  • 相关阅读:
    NopCommerce仓储模型解析
    NopCommerce事件发布订阅机制详解
    Mongodb学习笔记
    ES安装和运行
    Redis缓存使用方法
    Solr环境搭建
    Redis--redis集群环境搭建
    Redis--环境搭建
    Spring-----AOP深度理解
    Shell脚本编写2------有关变量
  • 原文地址:https://www.cnblogs.com/Olive116/p/2981593.html
Copyright © 2011-2022 走看看