SQL SERVER时间日期处理函数!

时间:2021-02-05 22:07:49
2007-05-24 20:47

--如何将查询结果输出到目的地
select 字段列表 into 新表 from 旧表


--时间日期函数
6.DateADD()
作用:可以计算出为某一日期时间值加上特定的时间区间后,所得的日期
时间是什么
语法:DateADD(detepart,number,date)
返回值:日期

参数 datepart的取值:
1.year(yy) 年份
2.quarter(qq) 第几季度
3.month(mm) 月份
4.dayofyear(dy) 此日期是本年中的第几天
5.day(dd) 日数
6.week(wk) 此日期是本年的第几周
7.weekday(dw) 此日期是本周的第几天(1.星期天..7:星期六)
8.hour(hh) 小时
9.minute(mi) 分钟
10.second(ss) 秒
11millisecond(ms) 毫秒

eg:
print dateadd(yy,10,'2007-1-2')
print dateadd(dd,10,'2007-1-2')

print dateadd(dd,100,getdate())

7.DateDiff()
作用:能够计算出两个日期时间表达式这之间的差距
语法:datediff(datepart,startdate,enddate)
返回值:整形

eg:
select datediff(mm,'1991-12-1','2001-1-1')

select datediff(yy,'1996-1-1',getdate())

三、数学函数
3.1 ABS():返回表达式的绝对值
eg:ABS(-1)
3.2: EXP():返回e的N次方值
eg:EXP(2)
3.3 PI()
3.4:POWER()
3.5:RAND():返回一个0-1之间的随机数值
3.6:SQRT():开根号

四.数据类型转换函数

declare @age int
set @age=18
print '小明的年龄为:
'+@age

4.1:CAST()
语法:CAST(expression as data_type)

eg:
declare @age int
set @age=18
print '小明的年龄为:'+cast(@age as varchar(10))

declare @num1 varchar(2)
declare @num2 varchar(2)
declare @num3 varchar(4)
set @num1='12'
set @num2='10'
set @num3=cast(cast(@num1 as int)+cast(@num2 as int) as varchar(4))
print @num3

4.2:Convert
语法:Convert(data_type,expression)

eg:
declare @num1 int
declare @num2 int
declare @num3 varchar(4)
set @num1=10
set @num2=15
set @num3=convert(varchar(2),@num1)+convert(varchar(2),@num2)
print @num3

--SQLSERVER中的全局函数
1.@@CONNECTION :返回SQLSERVER启动后,连接或者尝试连结的次数
2.@@CUP_BUSY:返回SQLSERVER最近一次启动之后,CPU的工作时间(单位:
    毫秒)
3.@@ERROR:返回最近一次执行错误的T-SQL语句的错误代码
4.@@IDENTITY:返回最近一次增加的自增长编号
5.@@ROWCOUNT: 返回最近一次执行的语句影响了多少条数据记录

二、Tran-SQL的语句
1.控制流语言
declare @num1 int
set @num1=5
if (@num1>1)
     print
'@num1大于1'
else
     print
'@num1小于1'
2.begin..end
declare @num1 int
set @num1=5
if (@num1>1 and @num<10)
begin
    print 'aaa'
end else
begin
     print 'ccc'
     print 'ddd'
end

2.While循环语句
语法:
while bool_expression
{sql_statement}
[break]
{sql_statement}
[continue]

while a>b
begin

end

eg:
declare @num int
declare @sum int
set @num=0
set @sum=0
while @num<=100
begin
    set @sum=@sum+@num
    set @num=@num+1
    if (@num=100)
      break
    else
      continue
end


print @sum