Дата / месяц / год в SQL изменена на месяц / день / год

У меня есть старое приложение Classic ASP, которое работало отлично, недавно оно было перенесено на сервер Windows Server 2012 с IIS 8.5, проблема в том, что у меня есть форма для добавления записи в формате день / месяц / год, когда дата введена как 23/06/2015 в SQL будет добавлено правильно как 23/06/2015, но когда дата введена как 01/06/2015: 1 июня 2015 года в SQL будет добавлено как 06/01/2015 месяц / день / год, что будет неверно

я проверил расположение и формат даты для сервера, и он был дд / мм / гггг, и база данных не изменилась со времени старого сервера SQL 2008. Я искал в сети и обнаружил, что мне нужно изменить культуру IIS в разделе GLOBALIZATION, но я не знаю, что выбрать, даже если бы я выбрал свою страну, я все еще сталкиваюсь с той же проблемой. любое предложение

3 ответа

Решение

Если вы не хотите вносить изменения в параметры глобализации и локализации, простой ответ - использовать универсальный ввод даты YYYYMMDD при вставке даты в виде строк.

Обновление Для расширения вашего комментария: при изменении формата строки даты в запросе вставки / обновления он не меняет формат в самой таблице sql.

например

UPDATE [table]
SET [column] = '20150716 10:22'
WHERE Id = 7489

При просмотре отображается так же, как и другие записи в таблице:

введите описание изображения здесь

Иногда, когда ничто не решает эту проблему (или глобальное решение может повредить старые сценарии), Обходное решение, которое вы можете использовать, - это функция convert для изменения формата в вашей хранимой процедуре.

Например:

select getdate() --prints 2018-10-05 12:24:43.597
select Convert(char(10),getdate(),103) --To force the date to be dd/mm/yyyy

И не позволяя странице asp форматировать дату, просто печатать в формате raw.

Попробуй это:-

https://www.webwiz.co.uk/kb/asp-tutorials/date-time-settings.htm

Добавьте запись в global.asa, как показано ниже...

'When a session starts on the server the following code will be run
Sub Session_OnStart

     'Set the server locale
     Session.LCID = 2057

End Sub
Другие вопросы по тегам