告诉我如何创建自己的方法将全名组装成姓氏和首字母缩写?只是一个返回计算属性和初始化的示例。我感兴趣的是编写函数的语法。
方法示例:
CREATE FUNCTION assemblerFullname (@Fullname VARCHAR(MAX))
DECLARE @first_name VARCAR(50) = TRIM(SUBSTRING(@Fullname, 1, CHARINDEX(' ', @Fullname)))
RETURNS @first_name
一个请求,其中有两个带有全名的字段(Assigner.fullname,Assigner.fullname),假设在字段输出中的 SELECT 中,可以添加一个将全名处理到结果中的方法 I需要。
SELECT
ts.id,
ts.name,
ts.assigner_id,
assigner.fullname,
ts.executor_id,
assigner.fullname,
ts.status,
ts.value,
ts.date_plan,
ts.end_date_plan,
role.value('(/task/plan)[1]', 'VARCHAR(MAX)') AS description
FROM tasks AS ts
LEFT JOIN task AS t ON t.id = ts.id
LEFT JOIN collaborators AS assigner ON assigner.id = ts.assigner_id
LEFT JOIN collaborators AS executor ON executor.id = ts.executor_id
CROSS APPLY t.data.nodes('/task/role_id') AS field(role)
WHERE role.value('(/task/role_id)[1]', 'BIGINT') = 7459373706232529779
编写函数的语法可以在 SQL Server 文档中找到,那里有示例。
创建函数的正确语法如下:
查询中的用法:
PS你在问题中所说的方法实际上是一个函数。不要在这种情况下使用“方法”这个词,你的同事不会理解你。