2017-03-23 1 views
1

varchar 열에 날짜를 저장하는 (일부 경우 유효성 검사없이 사용자가 입력 할 수 있음) 타사 응용 프로그램과 작업하려고합니다. CONVERT(DATETIME, MY_COLUMN) - 명시적인 형식없이 - 날짜로 사용할 때. 응.문자열에서 날짜를 변환하기위한 SQL Sever의 기본 형식은 무엇입니까

당연히 이것은 종종 실패합니다. 하지만 항상 그런 것은 아닙니다. 당신이 지정하지 않으면 CONVERT에 대한 SQL의 기본 형식은 무엇입니까? 101 (즉, mm/dd/yyyy)로 표시되지만 항상이 경우입니까? 데이터베이스 또는 서버 데이터 정렬 또는 다른 설정에 따라 좌우됩니까? MSDN CAST and CONVERT docs는 말하지 않습니다.

우리는 디폴트를 들어 SQL 서버 2014

답변

1

을 사용하고, 그것은 암시 적 문화 관련 설정과 같이 dateformat, datefirst을 설정하는 서버 또는 로그인 수준에서 기본 언어 설정에 따라 달라집니다. login을 기반으로 기본값을 변경할 수도 있습니다. 예 :

alter login [aucuparia] with default_language=[british]; 

set language, set dateformatset datefirst와 세션 수준에서 변경할 수 있습니다.

현재 연결에 대한 언어 설정을 확인하려면 :

select @@language; 

은 각 언어에 대한 설정을 확인하려면 :

select langid, alias, DateFormat, DateFirst, months, shortmonths, days 
from sys.syslanguages; 
+0

내가 datefirst'이 질문과 관련이'생각하지 않습니다. –

+0

@RogerWolf 언어 설정에 의해 암시 적으로 설정되고'week' 날짜 부분에 관한 날짜 및 시간 함수의 결과에 영향을주기 때문에 답변의 일부로 포함 시켰습니다. – SqlZim

관련 문제