我正在创建一个存储过程。我有两列,名字和姓氏。
我可以使用以下语句合并它们:
REPLACE(dbo.Employee.Forename, ' ', '') + ' ' +
REPLACE(dbo.Employee.Surname, ' ', '') AS EmployeeFullName
如果我想按 EmployeeFullName
进行搜索,我该怎么做?
WHERE EmployeeFullName = @Name
其中@name
是存储过程的参数输入。
CREATE PROCEDURE EmployeeSearch
@Name VARCHAR(50)
AS
SELECT
dbo.Employee.Number,
REPLACE(dbo.Employee.Forename, ' ', '') + ' ' + REPLACE(dbo.Employee.Surname, ' ', '') AS EmployeeFullName,
DateOfBirth
FROM
dbo.Employee
WHERE
EmployeeFullName = @Name
RETURN
GO
最佳答案
您可以创建如下存储过程:
CREATE procedure EmployeeSearch
@name varchar(50)
as
begin
SELECT Number, EmployeeFullName from (
SELECT dbo.Employee.Number, REPLACE(dbo.Employee.Forename, ' ', '') + ' ' + REPLACE(dbo.Employee.Surname, ' ', '') AS EmployeeFullName
FROM yourtable
) AS T WHERE EmployeeFullName = @Name
end
关于sql-server - SQL;按合并列搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48933663/