sqlserver自定义函数

时间:2021-09-14 04:33:49
  1. --自定义函数  
  2. create function fun_result(@score int)  
  3. returns varchar(10)  
  4. as  
  5. begin  
  6.     declare @result varchar(10)  
  7.     if @score>=90  
  8.         set @result='优秀'  
  9.     else if @score>=80 and @score<90  
  10.         set @result='良好'  
  11.     else if @score>=60 and @score<80  
  12.         set @result='及格'  
  13.     else      
  14.         set @result='不及格'  
  15.     return @result  
  16. end  
  17. go  
  18.   
  19. create function fun_result(@score int)  
  20. returns varchar(10)  
  21. as  
  22. begin  
  23.     declare @result varchar(10)  
  24.     select @result=case when @score>=90 then '优秀'  
  25.     when @score>=80 and @score<90 then '良好'  
  26.     when @score>=60 and @score<80 then '及格'  
  27.     else '不及格' end  
  28.     return @result  
  29. end  
  30. go  
  31.   
  32. --执行  
  33. select dbo.fun_result(50)  
  34.   
  35. select case stuSex when '1' then '男'   
  36. when '2' then '女'   
  37. else '其他' end as '性别',COUNT(*) as '数量'  
  38. from student group by stuSex  
  39.   
  40. --找出empId有2个以上的数据  

  1. select empId from Tab_Extra_Salary group by empId having COUNT(*)>1 

代码


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 --SQL自定义函数:


CREATE FUNCTION [GetProjectID] (@headStr nvarchar(10),@date datetime)
)


RETURNS NVARCHAR(200)


AS


BEGIN


--不能在自定义函数中用INSERT INTO


--insert into emos_cust(cust_name,dates)values(


--@headStr,@date


--)


return 'TEST BY HANSHU'
END
代码


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1     /// <summary>
    /// 获取项目文件编号 geovindu@163.com 涂聚文
    /// </summary>
    private void FileNo()
    {


        SqlConnection conn = new SqlConnection(connectionString);
        string strSql = "GetProjectID"; //自定SQL函數
        SqlCommand cmd = new SqlCommand(strSql, conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@headStr", SqlDbType.NVarChar).Value = "ZQ3"; //輸入參數
        cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = System.DateTime.Now.ToShortDateString(); //輸入參數
        cmd.Parameters.Add("@returnString", SqlDbType.NVarChar);
        cmd.Parameters["@returnString"].Direction = ParameterDirection.ReturnValue;  //返回參數 
        try
        {
            conn.Open();
            object o= cmd.ExecuteScalar();


            this.txtAFileNO.Text = cmd.Parameters["@returnString"].Value.ToString();


            //Response.Write("");
          
        }
        catch (Exception ex)
        {


            this.txtAFileNO.Text = ex.Message;


        }
        finally
        {


            if (!(conn.State == ConnectionState.Closed))
            {


                conn.Close();




            }


        }


 
    }