1.1 slqserver2016 --- 常用函数

1、常用函数

目录:

1、replace 函数

2、ISNULL 函数

3、DATEADD函数

4、DATEDIFF函数

5、ISNULL 函数

6、DATEPART 函

7、LEN 函数

8、LTRIM 和 RTRIM 函数

9、IIF函数

10、sqlserver 的 merge info 函数
       
       

 

 

 

1、replace 函数:

-- 把数据库表article中的所有title字段里的w3cschool字符串替换成hello。
update `article` set title=replace(title,'w3cschool','hello');

2、ISNULL 函数:

语法: isnull(value1,value2)

解释:

        1、value1与value2的数据类型必须一致。

        2、如果value1的值不为null,结果返回value1。

        3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。

扩展:

跟mysql 的ifnull()函数相同

    ifnull(value1,value2)

      1、如果value1不为空,结果返回value1。

      2、如果value1为空,结果返回value2。同上

3、时间函数1 (DATEADD:

语法:DATEADD ( datepart , number, date )

参数1:datepart

   是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

参数2:number

   是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。

参数3:date

   是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式;

返回类型:

   返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。

4、时间函数1 (DATEDIFF:

语法: DATEDIFF ( datepart , startdate , enddate )

参数:  datepart

   是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

 

常用的场所:=============

Sql Server 查询指定范围(一周,一月,本周,本月等)内的数据

1.查询今日的所有数据

    select * from 表名 where datediff(day,字段名,getdate())=0

2.查询昨日的所有数据

    select * from 表名 where datediff(day,字段名,getdate()-1)=0

3.查询当天日期在一周前的数据

    selcet * from 表名 where datediff(week,字段名,getdate()-1)=0

4.查询前30天的数据

    select * from 表名 where datediff(d,字段名,getdate())<=30

5.查询上一个月的数据

    select * from 表名 where datediff(m,字段名,getdate())<=1

6.查询当天的数据

    select * from 表名 where datediff(dd,字段名,getdate())=0

7.查询24小时内的数据

    select * from 表名 where datediff(hh,字段名,getdate())

8.查询本周的数据

    select * from 表名 where datediff(week,字段名,getdate())=0

9.查询本月的数据

    select * from 表名 where datediff(month,字段名,getdate())=0

10.查询本季的数据

    select * from 表名 where datediff(qq,字段名,getdate())=0

 

5、DATENAME 函数: (返回代表指定日期的指定日期部分的字符串.)

语法: DATENAME ( datepart , date )

参数: datepart

     是指定应返回的日期部分的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

例如:

6、DATEPART 函数:( 返回代表指定日期的指定日期部分的整数。)

语法: DATEPART ( datepart , date )

参数: datepart

  是指定应返回的日期部分的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

日期部分     缩写
year         yy, yyyy
quarter      qq, q
month        mm, m
dayofyear    dy, y
day          dd, d
week         wk, ww
weekday      dw
Hour         hh
minute       mi, n
second       ss, s
millisecond  ms

例如: 

扩展:

  

 

7、LEN 函数: (返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格 但是会计算前面的空格)

语法: LEN ( string_expression )

参数: string_expression  要计算的字符串表达式。

返回类型: int

例如1:

例如2:

8、LTRIM 和 RTRIM 函数: (删除起始或者尾随空格后返回字符表达式。)

返回类型: varchar

9、IIF函数: (真前假后)

10、sqlserver 的 merge info 函数

解释: 使用 T2 的数据,满足条件 修改T1 或插入 T1数据;

MERGE INTO A T1
   USING(
     SELECT * FROM B
   ) T2 on (T1.ID= T2.ID)
--这个位置写条件
WHEN MATCHED AND ISNULL(T1.value,'')<>'' THEN
UPDATE SET T1.value = T2.fValue
--这个位置写条件
WHEN NOT MATCHED AND 其他条件 THEN
INSERT(ID,pointguid,value,datadate,createdate,iid,istatus)
VALUES(T2.ID,T2.pointguid, T2.fValue,T2.datadate,T2.createdate,T2.iid,T2.istatus);

不满足条件:  T1.ID= T2.ID   就删除 T1 里多余的数据

WHEN NOT MATCHED by SOURCE THEN DELETE;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值