-
遇到以零作除数错误:
在第一行加上:set ansi_warnings off
SET ARITHABORT off
SET ARITHIGNORE on -
计算环比时,错行显示上一行或者下一行的数据函数:
lead(表达式,错行数,默认值)、lag(表达式,错行数,默认值)
eg:Select lag(t.PARAM_VALUE, 1, 0) over(ORDER BY t.DATA_DATETIME) -
用于连接两个字符串的函数:
Concat(字符串1,字符串2)as 名称---------至少两个参数 -
按字段中某个字排序:
CHARINDEX()函数
eg:ORDER BY CHARINDEX(SUBSTRING(t[指标名称], 1, 1), ‘火水风太生’) -
日期:
①截取字符串型日期
eg:SUBSTRING (CONVERT(VARCHAR, t.日期,23) , 1, 4) = ‘2019’
②截取日期型日期
eg:year(t.日期)= 2019
③上个月
eg:concat (k.[日期], ‘/01’) =(DATEADD (MONTH, -1, concat (SUBSTRING (CONVERT (VARCHAR, m.[date], 111), 0, 8),’/01’)))
④去年
eg:x.[日期] = SUBSTRING (CONVERT (VARCHAR, DATEADD (year, -1, concat (z.[日期], ‘/01/01’) ), 111) , 1, 4)
⑤替换
eg:REPLACE (y.[日期], ‘/’, ‘’)
⑥返回整点数据
Eg: where RIGHT (CONVERT (varchar (19), data_time, 120), 5)=‘00:00’ -
在查询结果前插入一列序号:
row_number()函数
eg:select TOP 10 row_number() over(order by round(t.PARAM_VALUE,2) DESC) as 序号 -
在查询结果最下方插入一行虚拟数据:
Union()函数-------前后字段相同
eg:union
SELECT 11 as 序号, 2017 as 年份, ‘澳洲’ as 国家, 11 as 净进口量
SQL SERVER 数据库随笔
最新推荐文章于 2022-04-20 07:30:00 发布