Изменение dateformat на SQL Server DB а не на целом сервере к dd/mm/yyyy

Нет, ты не можешь. Преобразователи значений выполняются на клиенте, а не в базе данных, поэтому ваша функция db там не сработает

Единственный способ добиться этого - реплицировать код функции db в c #, и вместо броска не реализованного вы можете поместить эту логику там. И используйте его тогда в вашем конвертере значений, если функция вызывается из базы данных, она будет использовать функцию db из db, если она вызывается локально, она будет использовать код c #

5
задан mark smith 16 April 2009 в 12:11
поделиться

4 ответа

Вы можете изменить формат даты по умолчанию для пользователя , выбрав язык по умолчанию для этого пользователя в SQL Management Studio> Безопасность> Логины> {свойства пользователя}> Язык по умолчанию.

И вы можете увидеть формат даты для каждого языка с помощью

EXEC sp_helplanguage
7
ответ дан 18 December 2019 в 13:19
поделиться
SET dateformat dmy;
SELECT * FROM sesiones WHERE ultimo_acceso < '16/04/2009 13:36:17';
3
ответ дан 18 December 2019 в 13:19
поделиться

Я думаю, вы в замешательстве. Datetime на сервере sql вообще не хранится в виде строк. Они хранятся в виде 8-байтовых двоичных значений и преобразуются в строки только тогда, когда вы показываете их пользователю. Вы используете столбец Datetime для хранения ваших дат, верно?

2
ответ дан 18 December 2019 в 13:19
поделиться

При работе со строками даты и времени в SQL Server я всегда использовал бы формат даты ISO-8601

YYYY-MM-DDTHH:MM:SS 

, который должен работать независимо от того, какой у вас язык или региональные настройки.

Попробуйте выбрать:

SELECT * FROM sesiones WHERE ultimo_acceso < '2009-04-16T13:36:17'

Marc

2
ответ дан 18 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: