编程:SQL Server的SQL知识体系

我们都知道SQL语言虽然有统一的标准,但是每家数据库在支持的函数和使用细节上面又各有差异,本文主要从MS SQLServer的SQL语句入手,讲解在实际使用过程中遇到的问题。

一、SQL Server SQL语句

  1. 查询数据库中是否存在带某些关键字段的表。

    SELECT table_name FROM information_schema.tables WHERE table_schema = ‘dbo’ AND table_name LIKE ‘%pay%’
    在这里插入图片描述

  2. 日期;日期相关功能是最常见也是最复杂的功能,接下来我们从日期的常见几种情形出发去认识和理解SQL Server SQL的功能。
    1.1 选取早于或晚于某个日期的数据。

    SELECT t3.new_orderdate
    FROM new_ord_saleorder AS t3
    WHERE t3.new_orderdate>‘20190525’; --比较的日期必须是’yyyymmdd’格式。

    1.2 统计某年,季,月,周,日等区间数据。
    需要用到两个函数:时间差函数 DATEDIFF(datepart, startdate,enddate)、当前日期函数GETDATE()。

    SELECT * FROM tablename where DATEDIFF(day,inputdate,GETDATE())=0 – 当天
    SELECT * FROM tablename where datediff(week,inputdate,getdate())=0 – 当周
    SELECT * FROM tablename where DATEDIFF(month,inputdate,GETDATE())=1 – 上个月
    在这里插入图片描述
    这里需要解释一下的是,通过这种方式取到的数据并不是从今天开始往前推一周,一月,而是按照周或者月份重新计算的周、月,比如今天是5月28日,上个月是指4月1日~4月30之间的数据,周也类似,是从周一开始计算的。

  3. 根据SQL日期字段获取年、月、日,主要用到DATEPART()函数,datepart取值范围year | quarter | month | week | day | hour | minute | second | millisecond等。
    在这里插入图片描述

  4. DATEPART函数和DATENAME函数的异同。
    4.1 datepart():返回代表指定日期的指定日期部分的整数。
    语法:Datepart(datepart,date) 返回类型:int
    4.2 DateName():返回代表指定日期的指定日期部分的字符串
    语法:DateName(datepart,date) 返回类型:nvarchar

参考文献
1.【转】Sql Server中查询今天、昨天、本周、上周、本月、上月数据
2.sql中如何提取从数据库中所获得时间的年份

猜你喜欢

转载自blog.csdn.net/xiaxianba/article/details/92781626
今日推荐