мне нужна ваша милость над решимостью преобразования issue.The кода, который я имею, какКонверсия удалось при преобразовании DateTime из строки символов во время выполнения процедуры
ALTER PROCEDURE [WORKFLOW_APP].[DIAGNOSISCD_CAR]
@v_monthstr CHAR ,
@v_monthend CHAR ,
@v_year CHAR ,
@v_state_cd CHAR ,
@v_claim_key CHAR ,
@v_contractor CHAR
DECLARE @v_makedatestr VARCHAR(10)
DECLARE @v_makedateend VARCHAR(10)
SELECT @v_makedatestr = '01-' + @v_monthstr + '-' + @v_year
SELECT @v_makedateend = '01-' + @v_monthend + '-' + @v_year
SELECT @v_datebegin = CONVERT(DATETIME, @v_makedatestr,105)----error
SELECT @v_dateend = DATEADD(D, -DAY(DATEADD(M, 1, CONVERT(DATETIME, @v_makedateend ,105))), DATEADD(M, 1, CONVERT(DATETIME, @v_makedateend ,105)))---error
Этот код формируется с помощью инструмента и изменилось где-то руководство.
Я получаю
"Конверсия удалось при преобразовании DateTime из строки символов.
в комментарии "error".
Я пробовал использовать функции преобразования, литья, но не смог их решить.
Любой из них предлагает ошибку и записывает соответствующий код преобразования для этой ошибки.
Я преобразование хранимой процедуры Oracle в SQL Server 2005.
Я использую SQL Server Management Studio Express 2005.
Что является неправильным из выше коды и что такое правильный код?
Любой код? ////// для правильного преобразования
год, что ваш получают в Парам '@ v_year' находится в 2 цифры формируются? –
Параметр типа 'CHAR' = ** 1 символ длинной строки **. Это действительно * то, что вам нужно? Если нет: определите 'CHAR (x)' (где 'x' - длина) - и если оно больше 5-10 символов, вместо этого используйте' VARCHAR (x) '! –
@marc_s это действительно хороший момент –