[SQL] 날짜 시간 데이터 유형에 VARCHAR 데이터 형식의 변환이 범위를 벗어난 값 초래
SQL날짜 시간 데이터 유형에 VARCHAR 데이터 형식의 변환이 범위를 벗어난 값 초래
나는 C # 윈도우 서비스에서 실행하는 것이 내가 인라인 SQL의 다음과 같은 부분이 있습니다
UPDATE table_name SET
status_cd = '2',
sdate = CAST('03/28/2011 18:03:40' AS DATETIME),
bat_id = '33acff9b-e2b4-410e-baaf-417656e3c255',
cnt = 1,
attempt_date = CAST('03/28/2011 18:03:40' AS DATETIME)
WHERE id = '1855'
나는 응용 프로그램 내에서 SQL Server 데이터베이스에 대해이 작업을 실행하면, 나는 다음과 같은 오류가 발생합니다 :
나는 SQL의 조각을 가지고 SQL 관리 Studio에서 실행하는 경우, 그것은 문제없이 실행됩니다.
모든 아이디어를 어떻게이 문제를 일으킬 수 있습니다?
해결법
-
==============================
1.모호한 날짜 형식은 로그인의 언어에 따라 해석됩니다. 이 작품
모호한 날짜 형식은 로그인의 언어에 따라 해석됩니다. 이 작품
set dateformat mdy select CAST('03/28/2011 18:03:40' AS DATETIME)
이것은하지 않습니다
set dateformat dmy select CAST('03/28/2011 18:03:40' AS DATETIME)
올바른 데이터 형식으로 매개 변수화 쿼리를 사용하는 경우 이러한 문제를 피할 수 있습니다. 또한 모호 "분리되지 않은 'yyyymmdd 형식의 HH를 사용할 수 있습니다 : MM : SS
-
==============================
2.당신이 자유에있는 경우, 언어 / 지역 perferences을 상속 것이다, 자신의 로그인에 서비스 계정을 변경합니다.
당신이 자유에있는 경우, 언어 / 지역 perferences을 상속 것이다, 자신의 로그인에 서비스 계정을 변경합니다.
문제의 진짜 핵심은 다음과 같습니다
그래서 당신은 미래에 이러한 문제가 발생하지 않습니다 것을 매개 변수화 된 쿼리를 사용하여 시작하십시오. 또한 더 강력한 예측 가능하고 좋습니다.
-
==============================
3.I는 물론, 사용하는 쿼리를 매개 변수화, 항상 날짜 시간에 작업을 C #과가 제공하는 옵션을 포맷하기 있으며, toString ()에 개체를 C # 및 SQL 사이의 날짜와 함께 작업 할 수있는 가장 좋은 방법을 생각한다. 당신은 더 나은 예를 들어 날짜 YMD을 설정처럼이 문제가하지 않도록 SQL Server에서 날짜 사용하기 전에 설정 날짜 <형식> (여기가 MSDN에 설정 DATEFORMAT 설명이) 실행합니다. 좋은 연습 그냥 데이터베이스에 대한 연결을 여는 중 한 후 그것을 할 것이다, 그래서 당신은,이 열려있는 동안 형식을 mantains 때문에 연결 당 한 번 할 필요가있다. 그런 다음, 수 항상 'YYYY-MM-DD HH : MM : SS : FFFF'와 작업 형식을 지원합니다. 당신의 매개 변수화 쿼리에 DateTime 개체를 전달하려면 DateTime.ToString ( 'YYYY-MM-DD HH를 : MM : SS를 : FFFF')를 사용할 수 있습니다. 'DD / MM-YYYY'DateTime.ParseExact (<일부 날짜 문자열>은 CultureInfo를 : C #을에 이상한 형식의 날짜를 구문 분석을 위해 당신은 입력 형식이 정확히 지정이 옵션을 가지고 DateTime.ParseExact () 메소드를 사용할 수 있습니다 .InvariantCulture). 여기) MSDN에 DateTime.ParseExact () 설명이
I는 물론, 사용하는 쿼리를 매개 변수화, 항상 날짜 시간에 작업을 C #과가 제공하는 옵션을 포맷하기 있으며, toString ()에 개체를 C # 및 SQL 사이의 날짜와 함께 작업 할 수있는 가장 좋은 방법을 생각한다. 당신은 더 나은 예를 들어 날짜 YMD을 설정처럼이 문제가하지 않도록 SQL Server에서 날짜 사용하기 전에 설정 날짜 <형식> (여기가 MSDN에 설정 DATEFORMAT 설명이) 실행합니다. 좋은 연습 그냥 데이터베이스에 대한 연결을 여는 중 한 후 그것을 할 것이다, 그래서 당신은,이 열려있는 동안 형식을 mantains 때문에 연결 당 한 번 할 필요가있다. 그런 다음, 수 항상 'YYYY-MM-DD HH : MM : SS : FFFF'와 작업 형식을 지원합니다. 당신의 매개 변수화 쿼리에 DateTime 개체를 전달하려면 DateTime.ToString ( 'YYYY-MM-DD HH를 : MM : SS를 : FFFF')를 사용할 수 있습니다. 'DD / MM-YYYY'DateTime.ParseExact (<일부 날짜 문자열>은 CultureInfo를 : C #을에 이상한 형식의 날짜를 구문 분석을 위해 당신은 입력 형식이 정확히 지정이 옵션을 가지고 DateTime.ParseExact () 메소드를 사용할 수 있습니다 .InvariantCulture). 여기) MSDN에 DateTime.ParseExact () 설명이
-
==============================
4.그것은 날짜 형식 문제입니다. 아일랜드에서 3 월 28 일에 대한 표준 날짜 형식은 "28-03-2011"는 "2011년 3월 28일"반면에 (많은 다른 사람의 사이에서) 미국의 표준이 될 것입니다.
그것은 날짜 형식 문제입니다. 아일랜드에서 3 월 28 일에 대한 표준 날짜 형식은 "28-03-2011"는 "2011년 3월 28일"반면에 (많은 다른 사람의 사이에서) 미국의 표준이 될 것입니다.
-
==============================
5.당신은 내가 그랬던 것처럼, 어쩌면 당신은 내가 가진 동일한 문제에 직면 해,이 질문의 제목을 구글에서 검색에서 여기 리디렉션되었을 수 있습니다 나는이 솔루션은 영업 이익의 경우는 조금 다르다는 것을 알고 있지만. 날짜 시간이 유효하지 않기 때문에 때때로 당신은이 오류, 즉 그 달의 날짜 수를 초과하는 일에 점 (문자열 형식) 날짜! 예컨대 : CONVERT (날짜 시간, '2015년 6월 31일')는 내가 MySQL의에서 문 변환하는 동안, 저에게이 오류가 발생 (주장하지 않았다! 및 캐치에 정말 열심히 오류를한다) SQL Server에.
당신은 내가 그랬던 것처럼, 어쩌면 당신은 내가 가진 동일한 문제에 직면 해,이 질문의 제목을 구글에서 검색에서 여기 리디렉션되었을 수 있습니다 나는이 솔루션은 영업 이익의 경우는 조금 다르다는 것을 알고 있지만. 날짜 시간이 유효하지 않기 때문에 때때로 당신은이 오류, 즉 그 달의 날짜 수를 초과하는 일에 점 (문자열 형식) 날짜! 예컨대 : CONVERT (날짜 시간, '2015년 6월 31일')는 내가 MySQL의에서 문 변환하는 동안, 저에게이 오류가 발생 (주장하지 않았다! 및 캐치에 정말 열심히 오류를한다) SQL Server에.
-
==============================
6.JAVA8 : 사용 LocalDateTime.now의 toString () ().
JAVA8 : 사용 LocalDateTime.now의 toString () ().
-
==============================
7.나는 그것이 MYSQL 다른 내가 SQL을 사용하고이 문제를 직면 이 솔루션은이 형식에 퍼 팅되었다 : 날짜 = ( 'm-D-Y H : m : S'); 보다는 = 일 ( 'Y-m-D H : m : S');
나는 그것이 MYSQL 다른 내가 SQL을 사용하고이 문제를 직면 이 솔루션은이 형식에 퍼 팅되었다 : 날짜 = ( 'm-D-Y H : m : S'); 보다는 = 일 ( 'Y-m-D H : m : S');
from https://stackoverflow.com/questions/5466100/conversion-of-a-varchar-data-type-to-a-datetime-data-type-resulted-in-an-out-of by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 예외 : SQLException : 문자열 또는 이진 데이터는 잘립니다 (0) | 2020.04.15 |
---|---|
[SQL] PostgreSQL의 배제에 함께 인접한 / 중첩 항목 예방 (0) | 2020.04.15 |
[SQL] 왜 SQL 서버는이 오류를 던지고있다 : 열 'ID'에 NULL 값을 삽입 할 수 없습니다? (0) | 2020.04.15 |
[SQL] dataframe 기능 대 스파크 SQL 쿼리 (0) | 2020.04.15 |
[SQL] 분할 다중 행으로 SQL 열의 값을 구분 (0) | 2020.04.15 |