【发布时间】:2021-12-21 22:41:10
【问题描述】:
我正在尝试创建一个存储过程,它会返回一些选定的列。我不知道应该如何对 PayComment 或 TermDate 列使用条件函数。如何使用条件函数返回列?我尝试在创建存储过程时查找有关添加条件语句的任何信息,但它们都涉及使用参数名称。既然被告知这与使用参数无关,那么在创建存储过程时,我还可以使用什么其他方法插入条件函数以返回列?
PayComment(使用条件函数,因此如果 COLA 是,则短语“Cost of 出现生活增加,如果 HireDate = StartDate 然后出现“初始工资率”, 否则应该出现“加薪”)
TermDate(使用条件函数,因此如果 TermDate 为空,则“仍在工作” 应该出现,否则 TermDate 中的值应该在这里-提示使 这项工作你将不得不使用 CONVERT)
到目前为止我的代码:
USE PR;
GO
CREATE PROC spPayIncreaseListing
AS
IF COLA IS NOT NULL
PRINT 'Cost of living increase appears.'
ELSE IF HireDate = StartDate
PRINT'Initial Payrate'
ELSE
PRINT 'Pay raise';
IF TermDate = NULL
PRINT 'Still Employed'
ELSE CONVERT(varchar, getdate(), 1) AS TermDate;
SELECT FirstName, LastName, CONVERT(varchar, getdate(), 1) AS HireDate,
PayRate, CONVERT(varchar, getdate(), 1) AS PayRateStartDate,
CONVERT(varchar, getdate(), 1) AS PayRateEndDate
FROM EmpData JOIN TempWork
ON EmpData.EmpID = TempWork.EmpID
ORDER BY LastName, WorkID;
【问题讨论】:
-
看起来像你的作业...看看IIF:docs.microsoft.com/en-us/sql/t-sql/functions/…。
标签: sql sql-server sql-server-2012