Это функция, используемая для образования существительного во множественном числе. Он не идеален, но он использовался только для преобразования имен таблиц базы данных из формы единственного числа в форму множественного числа. Если имена ваших таблиц Goose или Deer, вам не повезло.
USE [master] GO– ============================================= – Author: <me> – ============================================= CREATE FUNCTION [dbo].[MakePlural] ( @Noun nvarchar(128) ) RETURNS nvarchar(128) AS BEGINDECLARE @PluralVersion nvarchar(128) = “ DECLARE @NounVersions TABLE(Term nvarchar(128) NOT NULL) DECLARE @QueryString nvarchar(4000) SET @QueryString = N’FORMSOF(INFLECTIONAL,”’ + @Noun + N’“)’ INSERT INTO @NounVersions SELECT TOP 10 display_term FROM sys.dm_fts_parser(@QueryString,1033,0,0) SELECT TOP 1 @PluralVersion = Term FROM @NounVersions WHERE Term Not Like ’%”%’ AND (RIGHT(Term,1) = ’s’ OR Term like ’%oos%’) SET @PluralVersion = UPPER(LEFT(@PluralVersion,1))+LOWER(SUBSTRING(@PluralVersion,2,LEN(@PluralVersion))) Return @PluralVersionEND GO