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即可实现该效果、

  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/Olive116/p/2981593.html
Copyright © 2011-2022 走看看