2013-10-03 4 views
0

저는 오라클과 관련하여 새로운 점을 알고 있으며이 쿼리를 받았습니다.오라클 날짜 및 형식으로 선택

...BETWEEN TO_DATE('" + shortStartDate + "','MMDDYYYY') 
    AND TO_DATE('" + shortEndDate + "','MMDDYYYY')" 

shortStartDate 및 shortEndDate는 사용자가 차지하는 세계의 형식에 관계없이 날짜 형식으로 입력됩니다.

그러나 문자열을 보면 내게 그것은 MMDDYYYY 형식이 맞을 것이라고 생각하는 것 같습니다. 아니면 날짜를 MMDDYYYY으로 변환하고 있습니까?

어떻게 이것을 지역에 독립적으로 작성할 수 있습니까?

답변

1

from here를 잡고 :

TO_DATE 함수 구문 :

TO_DATE (문자열 1 [format_mask], [NLS_LANGUAGE]) 문자열 1 데이트 변환 될 문자열이다.

format_mask는 선택 사항입니다. string1을 날짜으로 변환하는 데 사용되는 형식입니다.

예 :

TO_DATE('20020315', 'yyyymmdd') 

3 월 15 날짜 값을 반환,

TO_DATE('" + shortStartDate + "','MMDDYYYY') 

2002 shortStartDate = '03152002'의 경우 3월 15일, 2002 년 날짜 값을 반환

C#으로 날짜를 형식화하려면 ToString

과 같이 사용하면됩니다.
DateTime.Now.ToString("mmddyyyy"); 
+0

그래서 내 string1이 dd/mm/yyyy 형식 인 경우 결과 쿼리가 mmddyyyy 형식으로 변환됩니다. – griegs

+0

아니요 TO_DATE 함수에 전달하는 날짜 객체는 MMDDYYYY 형식을 사용하여 문자열을 날짜 객체로 변환합니다. 따라서 문자열이 정확히이 형식으로 날짜를 나타낼 것으로 기대합니다. 링크 된 기사를 읽으면 몇 가지 예제가 제공됩니다. TO_DATE ('20020315', 'yyyymmdd') \t은 2002 년 3 월 15 일의 날짜 값을 반환합니다. – MichaC

+0

오케이, 알겠습니다. 그렇다면 이제 어떻게 국제화하여 유럽과 호주뿐만 아니라 미국에서도 사용할 수 있습니까? – griegs