Я перемещаю данные из старой таблицы в новую версию SQL-сервера и борюсь с чем-то, с чем, надеюсь, кто-то может помочь.
У меня есть столбец в старой таблице с именем «EmployeeName» в порядке firstname.lastname. В новой таблице мы будем использовать руководство для идентификации сотрудников. Таблица с указателями содержит имена в порядке «фамилия, имя», поэтому моя функция, которую я написал для получения указателя для сотрудника, не соответствует именам.
Как я могу в SQL-сервере преобразовать firstname.lastname в lastname, firstname?
вот функция, которую я написал:
ALTER FUNCTION [Wire].[udf_GetEmployeeGuid_FromName]
( @EmployeeName VARCHAR(50) -- format 'firstname.lastname')
RETURNS uniqueidentifier
AS
BEGIN
DECLARE @EmployeeGuid uniqueidentifier
SELECT @EmployeeGuid = GUID
FROM B.Employees --format 'lastname, firstname'
WHERE LEFT(@EmployeeName, CHARINDEX('.', @EmployeeName)) = RIGHT([Name], LEN([Name]) - CHARINDEX(', ', [Name]))
RETURN IsNull(@EmployeeGuid, '00000000-0000-0000-0000-000000000000')
END