получить формат даты из настроек машины - PullRequest
0 голосов
/ 13 марта 2012

как мне получить формат даты машины, на которой запущен скрипт

declare @inputdate varchar(25)
declare @datetemp datetime

select @inputdate = '3/13/2012'

select @datetemp = CAST(@inputdate as DATETIME)

select @datetemp

вот сценарий: у меня появляется строка даты, и мне нужно отформатировать дату в США по своему усмотрению(mm / dd / yyyy am / pm) против других дат в других частях страны (это может быть dd / mm / yyyy 24: hr)

, поэтому мне нужно найти способ получить машинунастройка формата даты.

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Я подозреваю, что формат даты на аппарате не совсем то, что вам нужно.Когда вы запускаете запрос на сервере, он использует настройки языка вошедшего в систему пользователя.Есть способ получить формат даты вошедшего в систему пользователя ...

Select DateFormat 
From   sys.syslanguages 
Where  name = @@Language

Это вернет формат даты.Для us_english он возвращает 'mdy'.

1 голос
/ 13 марта 2012

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

DECLARE @inputdate VARCHAR(25) 
DECLARE @datetemp DATETIME
SELECT  @inputdate = '13/03/2012'  
SELECT  CONVERT(DATETIME,  @inputdate, 103)  --### 103 = DD/MM/YYYY input date
SELECT  @inputdate = '03/13/2012'  
SELECT  CONVERT(DATETIME,  @inputdate, 110)  --### 110 = MM/DD/YYYY input date

Обратите внимание, как две разные входные даты могут быть преобразованы в один и тот же день, сообщив SQL, в каком формате находится строка. Ваш интерфейс должен либо ограничить пользователя определенным форматом даты, либо определить региональные настройки и передать это в SQL, и SQL должен соответствующим образом реализовать правильный параметр стиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...