存储过程学习

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

-- ================================================
-- 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容