以下是一些数据库常用的方法和总结
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,王雷,Name>
-- Create date: <Create Date,20170330,>
-- Description: <Description,存储过程学习总结,>
-- =============================================
ALTER PROCEDURE Layne_byProcedure
@WorkHard NVARCHAR(max)
AS
BEGIN
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
DECLARE @sTime NVARCHAR(50)='20170325',@MonthLength INT;
-- 日期格式转换
-- 获得时间里面的年份
SET @sTime = CONVERT(VARCHAR(4),YEAR(@sTime));
-- 获取文本字段中值的长度,列如字段值为wanglei,那么得到的值为7
SET @MonthLength = LEN(CONVERT(VARCHAR(2),MONTH(@sTime),112));
-- 增加一天
SET @sTime =DATEADD(DAY,1,convert(datetime,@sTime));
--保留小数
SELECT ROUND(column_name,decimals) FROM table_name
--常用的条件查询语句逻辑 例子:
DECLARE @sql NVARCHAR(500)='SELECT * FROM AllList where WxUserID='''+@WxUserID+'''';
IF @Type IS NOT NULL AND @Type <>'all' AND @Type <>'' --设置报表类型 异动或者其他
SET @sql+='and [Type]='''+@Type+'''';
EXEC sp_executesql @sql;
--CASE用法 例子
SELECT CASE WHEN Name = '王雷' THEN '帅锅' WHEN Name = '韩建飞' THEN '王雷儿子' ELSE '平民' END FROM dbo.DataSendUser;
--判断字段如果为空就赋值为0 的方法ISNULL(字段名,0)
END
GO
网友评论