Из того, что я понимаю, вы хотите добавить первые две цифры как час, вторые две как минуту - но вы не делаете это при вызовах DATEADD
- вы добавляете обе части как HOUR
попробуйте это вместо:
SELECT DATE_DEBUT, HEURE_DEBUT,
DATEADD(MINUTE, CONVERT(int, SUBSTRING(HEURE_DEBUT, 3, 2)),
DATEADD(HOUR, CONVERT(int, SUBSTRING(HEURE_DEBUT, 1, 2)), DATE_DEBUT))
FROM ESPTEMPS_PROGRAMMATION
Здесь я использую два вложенных DATEADD
- внутренний DATEADD
добавляет часы, внешний добавляет минуты к результату добавления часов.
Также: SUBSTRING
в SQL Server на основе , например первый символ строки находится в позиции 1 (а не 0, как вы, вероятно, предполагаете)