Неверный синтаксис рядом с ')' в SQL Server СКАЛЯРНАЯ ФУНКЦИЯ - PullRequest
0 голосов
/ 02 июля 2018

Я создал скалярную функцию на сервере SQL. Я не могу найти синтаксическую ошибку. Во-вторых, я создал функцию для проверки состояния. Я хотел бы знать, если формат правильный. Пожалуйста, помогите мне

 CREATE FUNCTION [dbo].[SetRateCalculation]
    (
        @FromDate Datetime,
        @ToDate Datetime
    )
    RETURNS MONEY
    AS
    BEGIN
        -- Declare the return variable here
        RETURN (SELECT CASE WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAPLEX%' THEN '4.00' 
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND `enter code here`CPTDescription LIKE '%OCTAGAM%' THEN '38.25'
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%CARIMUNE%' THEN '26.00'
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%PRIVIGEN%' THEN '39.98'
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMUNEX%' THEN '39.98'
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAGARD%' THEN '43.00'
                      WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%BIVIGAM%' THEN '38.25'
                      )

    END
    GO

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Вам нужно ЗАКОНЧИТЬ СЛУЧАЙ (https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql?view=sql-server-2017)

CREATE FUNCTION [dbo].[SetRateCalculation]
(
    @FromDate Datetime,
    @ToDate Datetime
)
RETURNS MONEY
AS
BEGIN
    -- Declare the return variable here
    RETURN (SELECT CASE
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAPLEX%' THEN '4.00' 
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND `enter code here`CPTDescription LIKE '%OCTAGAM%' THEN '38.25'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%CARIMUNE%' THEN '26.00'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%PRIVIGEN%' THEN '39.98'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMUNEX%' THEN '39.98'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAGARD%' THEN '43.00'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%BIVIGAM%' THEN '38.25'
               END -- END CASE
                  )

END
GO
0 голосов
/ 02 июля 2018
CREATE FUNCTION [dbo].[SetRateCalculation]
(
    @FromDate Datetime,
    @ToDate Datetime
)
RETURNS MONEY
AS
BEGIN
    -- Declare the return variable here
    RETURN (SELECT CASE WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAPLEX%' THEN '4.00' 
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND `enter code here`CPTDescription LIKE '%OCTAGAM%' THEN '38.25'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%CARIMUNE%' THEN '26.00'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%PRIVIGEN%' THEN '39.98'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMUNEX%' THEN '39.98'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE '%GAMMAGARD%' THEN '43.00'
                  WHEN ServiceDate BETWEEN @FromDate AND @ToDate AND CPTDescription LIKE'%BIVIGAM%' THEN '38.25'
                END   )

END
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...