星星之火

燎原之势不可挡
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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