powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Conversion failed when converting date and/or time from character string.
7 сообщений из 7, страница 1 из 1
Conversion failed when converting date and/or time from character string.
    #39776287
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
SELECT DISTINCT t.task_id
	, t.leader_id
	, t.release_date
FROM (
	SELECT t.task_id
		, CONVERT(DATE, tp_dates.tpar_value, 104) AS release_date
		, CAST(CAST(tp_leader.tpar_text_value AS VARCHAR(128)) AS UNIQUEIDENTIFIER) AS leader_id		
	FROM Tasks AS t
		INNER JOIN TaskStates AS ts ON t.task_state = ts.tstate_id
		-- параметр дата выхода
		INNER JOIN TaskParams AS tp_dates ON tp_dates.tpar_task_id = t.task_id AND tp_dates.tpar_template IN (SELECT id FROM @tpt_dates)	
		-- параметр руководитель
		INNER JOIN TaskParams AS tp_leader ON tp_leader.tpar_task_id = t.task_id AND tp_leader.tpar_template IN (SELECT id FROM @tpt_leader)
	WHERE t.fl_deleted IS NULL		
		AND ts.tstate_flags NOT IN (16) -- не отклонена
		AND tp_dates.tpar_value IS NOT NULL
		--AND TRY_CONVERT(DATE,tp_dates.tpar_value, 104) IS NOT NULL
		AND tp_leader.tpar_text_value IS NOT NULL
		AND LEN(LTRIM(RTRIM(tp_dates.tpar_value))) > 0
		AND LEN(LTRIM(RTRIM(CAST(tp_leader.tpar_text_value AS VARCHAR(128))))) > 0	
		-- еще не отправляли
		AND NOT EXISTS(	
			SELECT el.evlg_id
			FROM EventLogs AS el 
			WHERE el.evlg_obj_id = t.task_id AND el.evlg_obj_name = @log_obj_name
		)
		-- не учитываем задачи старше 3х месяцев
		AND DATEADD(MONTH, 3, t.fl_created) >= GETDATE()
) AS t
WHERE	
	-- дата выхода сотрудника 
	(
		-- месяц
		(DATEADD(MONTH, 1, t.release_date) <= GETDATE() AND @notify_period = 1)		
			OR
		-- два
		(DATEADD(MONTH, 2, t.release_date) <= GETDATE() AND @notify_period = 2)
			OR
		-- два с половиной
		(DATEADD(DAY, 75, t.release_date) <= GETDATE() AND @notify_period = 3)
	)
	-- всем старым задачам отправляем только рассылку с 2.5 мес
	AND (
		1 = CASE WHEN @notify_period IN (1,2) AND DATEADD(DAY, 75, t.release_date) <= GETDATE() THEN 0
			ELSE 1
			END
	)
ORDER BY t.release_date DESC



Выполняется с ошибкой:
Conversion failed when converting date and/or time from character string.

Пытаюсь проверить, какая строка не конвертируется в дату:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT t.task_id
		--, CONVERT(DATE, tp_dates.tpar_value, 104) AS release_date			
FROM Tasks AS t
	INNER JOIN TaskStates AS ts ON t.task_state = ts.tstate_id
	-- параметр дата выхода
	INNER JOIN TaskParams AS tp_dates ON tp_dates.tpar_task_id = t.task_id AND tp_dates.tpar_template IN (SELECT id FROM @tpt_dates)	
	-- параметр руководитель
	INNER JOIN TaskParams AS tp_leader ON tp_leader.tpar_task_id = t.task_id AND tp_leader.tpar_template IN (SELECT id FROM @tpt_leader)
WHERE 
	 TRY_CONVERT(DATE,tp_dates.tpar_value, 104) IS NULL



вижу пустой набор данных
что то тут не то
Если есть у кого какие соображения, буду благодарен
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776298
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tp_dates.tpar_value там у вас кривые данные скорее всего
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776299
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

убери из проверочного запроса все джойны и смотри полностью всю таблицу
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776302
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще очень нехорошо хранить даты строками
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776308
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxlisttoview,

убери из проверочного запроса все джойны и смотри полностью всю таблицу
точно
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776309
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxа вообще очень нехорошо хранить даты строками
легаси
так еще и хранятся не в UTC
...
Рейтинг: 0 / 0
Conversion failed when converting date and/or time from character string.
    #39776310
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос снят
куча хлама всякого нашел, когда проверку убрал
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Conversion failed when converting date and/or time from character string.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]