2011-10-09 3 views
0

DATEVALUE() 함수는 SQL 서버의 다른 데이터 정렬에 대해 다른 결과를 생성합니까? 예를 들어 데이터 정렬이 다른 두 개의 SQL 서버 (미국인과 영어 한 개)가 있고 각 서버에 날짜가 같고 날짜가 2011 년 2 월 1 일인 필드가 들어있는 데이터베이스 테이블이있는 경우 다른 결과는 VB6에서 DateValue를 사용하여 즉, 미국 날짜를 fron으로 추출 할 때 datevalue가 날짜를 2011 년 1 월 2 일로 해석하는 것이 가능합니다.VB6 및 SQL 데이터 정렬의 DATEVALUE() 함수

+2

데이터 정렬은 이와 관련이 없습니다. SQL Server 자체에서 문자열 형식에서 datetime 데이터 형식으로 캐스팅하는 경우. 로그인의 언어 설정은 해석 방법에 차이를 만들 수 있습니다. 우리가 정확히 무엇을하고 있는지 알 수 있도록 몇 가지 코드를 보여주십시오. –

+0

@Martin 코드는 다음과 같습니다. dteDateFromDatabase = rs("databasedate") If DateValue(dteDateFromDataBase) MsgBox("Error") Else MsgBox("No error") End If 위 예제에서 서버 설정 또는 날짜 설정이 미국 또는 영어로 설정되어 있는지 여부에 따라 IF 문의 결과가 다를 수 있습니다. 예를 들어 2011 년 1 월 2 일을 2011 년 2 월 1 일로 해석 할 수 있습니까? – w0051977

답변

1

Datevalue는 클라이언트에서 실행되므로 데이터 정렬에 의해 dirrectly 영향을받지는 않지만 사용해야하는 경우 SQL은 날짜 대신 문자열을 반환하며 해당 문자열의 형식은 다음과 같이 결정됩니다. 서버의 Dateformat 설정. 이는 데이터 정렬에 의해 결정되지 않지만 우리 이외의 위치는 둘 다 변경 될 수 있습니다.

SQL을 제어 할 수 있으면 날짜를 반환하고 아무런 문제가 없으면 반환하지 않는 경우 date.parseexact를 사용하여 반환 할 내용을 결정해야합니다.