在Sqlserver数据库中,DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等.DatePart()函数的语法为: DATEPART(datepart,date).可以通过DatePart函数来返回单独返回日期时间的年.月.日.该时间所在的季度.该时间是一年当中的第几个星期等数据.DATEPART函数具体的格式化明细如下图: 以当前时间2019年3月22日  23:44:30的时间为例,可以通过以下几个语句得出时间的年.月.日.以及对应的季度和第几周: (1…
在Sqlserver数据库中,DATEADD() 函数在日期中添加或减去指定的时间间隔.例如计算当前时间往后一天的时刻以及往前1天的时刻时间即可使用DateAdd()函数来操作,DateAdd()函数的格式为:DATEADD(datepart,number,date),其中datepart参数是合法的日期表达式.number是您希望添加的间隔数:对于未来的时间,此数是正数,对于过去的时间,此数是负数. 以当前时间2019年3月22日  23:57:30的时间为例,以下几个例子帮助理解: (1)在…
在Sqlserver数据库中,一般我们查看数据库的大小可以通过查找到数据库文件来查看,但如果要查找数据表Table的大小的话,则不可通过此方法,在Sqlserver数据库中,提供了相应的SQL语句来查询数据库DataBase的大小,以及库中相应表的大小. 首先选中数据库,可以通过手工选择,也可通过在新建查询窗口通过语句选择.通过语句选择的命令为 Use DataBaseName go 选择对应数据库后,在新建查询窗口执行以下语句即可查询该数据库大小: exec sp_spaceused; 查询数…
partition  by关键字是分析性函数的一部分,它和聚合函数(如group by)不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录, partition  by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组. partition by 与group by不同之处在于前者返回的是分组里的每一条数据,并且可以对分组数据进行排序操作.后者只能返回聚合之后的组的数据统计值的记录. Demo  数据库表结构 学生成绩表 UserGrade Id    …
partition  by关键字是分析性函数的一部分,它和聚合函数(如group by)不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录, partition  by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组. partition by 与group by不同之处在于前者返回的是分组里的每一条数据,并且可以对分组数据进行排序操作.后者只能返回聚合之后的组的数据统计值的记录. 用法 : select *,ROW_NUMBER() over( pa…
http://www.jb51.net/article/75302.htm Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:"根据与源表联接的结果,对目标表执行插入.更新或删除操作. MERGE 目标表 USING 源表 ON 匹配条件 WHEN MATCHED THEN 语句 WHEN NOT MATCHED THEN 语句; 其中最后语句分号不可以省略…
由于项目的需要,很多模块都要实现批量删除的功能.为了方便模块的调用,把批量删除方法写成自定义函数.直接上代码. 自定义函数: ALTER FUNCTION [dbo].[func_SplitById] (@str varchar(50),@split varchar(10))--传过来的id字符串 --分割的标志 RETURNS @t Table (id int) --返回一个表 AS BEGIN DECLARE @x XML --进行拼接 SET @x = CONVERT(XML,'<item…
Over函数不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用.  其参数:over(partition by columnname1 order by columnname2) 含义:其中PARTITION BY 为分组字段,ORDER BY 指定排序字段…
---SQL四舍五入问题1: SELECT CAST('123.456' as decimal) ---123 将会得到 123(小数点后面的将会被省略掉). ---如果希望得到小数点后面的两位.则需要把上面的改为 SELECT CAST('123.456' as decimal(38, 2)) ----123.46---自动四舍五入了! ---SQL四舍五入问题2: SELECT ROUND(123.75633, 2, 1) ---123.75000 SELECT ROUND(123.7563…
从t_product表中获取pic_small字段的前十条记录 示例:select pic_small from t_product limit 0,10;…