В настоящее время у меня возникают проблемы при использовании сервера MS SQL для распечатки начальных нулей для столбца на основе чисел (который клиент настроил таким образом). Предполагается, что это тип даты, но клиент настроил его как число, поэтому я использую обходной путь.
Это нормально, если этот столбец, например, 11032019, но это вызывает проблемы, когда столбец имеет значение, например, 08032019 или 8032019
Я попытался дополнить его правильной функцией, чтобы добавить '00', но это бесполезно при использовании mssqlserver.
Например, что-то вроде этого:
SELECT
RIGHT('00'+CONVERT(DATETIME,STUFF(STUFF(13022018,5,0,'/'),3,0,'/') , 103),0)
CONVERT(DATETIME,STUFF(STUFF(11032019,5,0,'/'),3,0,'/') , 103)
Вышесказанное работает хорошо, но проблема заключается в следующем, если он имеет начальный 0 или как показано ниже
CONVERT(DATETIME,STUFF(STUFF(8022019,5,0,'/'),3,0,'/') , 103)
Я думаю, что я близок к тому, что мне нужно, он должен выводить для примера, который работает 2019-03-11 00: 00: 00.000
но для того, кто не работает, он просто выдает ошибку преобразования не удалось, и я проверил, что из-за начального нуля не принимается MS SQL