存储过程学习

以下是一些数据库常用的方法和总结

-- ================================================
-- 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:      
-- Create date: 
-- 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

你可能感兴趣的:(存储过程学习)