[SQL] C #을 사용 SQL 형식으로 날짜 시간 형식
SQLC #을 사용 SQL 형식으로 날짜 시간 형식
mm : ss로 내 UPDATE 쿼리에 사용할 수 있도록 나는 C #에서 현재 날짜 시간 형식을 저장하고 YYYY-MM-DD HH 그래서 같은 SQL 서버 날짜 형식으로 변환하려합니다.
이것은 내 첫 번째 코드했다 :
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
날짜의 출력은 괜찮지 만, 시간이 나는 다음에 내 코드를 변경 항상 "12시 0분 0초"그래서입니다 :
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
그것은 나에게이 컴파일 에러를했다 :
내가 구문 분석 할 필요가 제안했다. 그래서 여기에 StackOverflow에 내 연구에 따라 내 코드에이 일을 시도 :
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
또는
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
그러나 주어진 컨텍스트에 대해 유효하지 않은 방법이 있다고 나에게 말하고있다. 나는 내 문제에 대한 해결책을 찾고 시도하고 지금은 2 시간 동안 갇혀있다. 나는 당신이 나를하시기 바랍니다 도움이 될 수 있습니다, 아직 C #에서 조금 새로운 해요?
해결법
-
==============================
1.아래에 이것을 시도
아래에 이것을 시도
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
-
==============================
2.표준 날짜 형식 "S"또한 국제화 호환성을 보장합니다 (MM / DD 대 DD / MM)를 사용하여 :
표준 날짜 형식 "S"또한 국제화 호환성을 보장합니다 (MM / DD 대 DD / MM)를 사용하여 :
myDateTime.ToString("s"); => 2013-12-31T00:00:00
전체 옵션 (코드 : 샘플 결과)
d: 6/15/2008 D: Sunday, June 15, 2008 f: Sunday, June 15, 2008 9:15 PM F: Sunday, June 15, 2008 9:15:07 PM g: 6/15/2008 9:15 PM G: 6/15/2008 9:15:07 PM m: June 15 o: 2008-06-15T21:15:07.0000000 R: Sun, 15 Jun 2008 21:15:07 GMT s: 2008-06-15T21:15:07 t: 9:15 PM T: 9:15:07 PM u: 2008-06-15 21:15:07Z U: Monday, June 16, 2008 4:15:07 AM y: June, 2008 'h:mm:ss.ff t': 9:15:07.00 P 'd MMM yyyy': 15 Jun 2008 'HH:mm:ss.f': 21:15:07.0 'dd MMM HH:mm:ss': 15 Jun 21:15:07 '\Mon\t\h\: M': Month: 6 'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0 : .NET 프레임 워크에서 지원 참조 : DateTime.ToString 방법
-
==============================
3.정답은 이미 "파라미터를 사용합니다"주어졌다. 이 날짜가 서버 측에서 해석 방법의 설정에 따라 같은 날짜 포맷 및 SQL-Server에 문자열로 전달하면 오류가 발생할 수 있습니다. 유럽에서, 우리는 다른 국가에서이 1월 12일으로 처리 될 수있는 반면, 12 월 1 일 2012를 나타 내기 위해 '2012년 1월 12일'를 작성합니다.
정답은 이미 "파라미터를 사용합니다"주어졌다. 이 날짜가 서버 측에서 해석 방법의 설정에 따라 같은 날짜 포맷 및 SQL-Server에 문자열로 전달하면 오류가 발생할 수 있습니다. 유럽에서, 우리는 다른 국가에서이 1월 12일으로 처리 될 수있는 반면, 12 월 1 일 2012를 나타 내기 위해 '2012년 1월 12일'를 작성합니다.
SSMS에서 직접 문을 발행 할 때 나는 매우 일반적인 것 같다 yyyymmdd 형식을 사용합니다. 나는 내가 지금까지 근무 다양한 설치에 문제가 발생하지 않았다.
조금 이상하지만 모든 버전에서 작동 다른 거의 사용 형태가있다 :
select { d '2013-10-01' }
2013 년 10 월 첫 번째를 반환합니다.
select { ts '2013-10-01 13:45:01' }
, 오후 1시 45분 1초을 10 월 1 일을 반환합니다
난 강력하게 조언 매개 변수를 사용하여 함께 자체 개발 한 형식의 문장 조각을 붙여 자신 만의 SQL 코드를 포맷하지합니다. 그것은 SQL 주입 및 이상한 오류에 대한 항목이다 (float 치를 포맷하면 또 다른 잠재적 인 문제입니다)
-
==============================
4.첫 번째 코드는이 작업을 수행하여 작동합니다
첫 번째 코드는이 작업을 수행하여 작동합니다
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); //Remove myDateTime.Date part
-
==============================
5.귀하의 문제는 현재까지 날짜 시간을 자릅니다 "날짜"속성입니다. 이 같은 변환을 넣을 수 있습니다 :
귀하의 문제는 현재까지 날짜 시간을 자릅니다 "날짜"속성입니다. 이 같은 변환을 넣을 수 있습니다 :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); // <- No Date.ToString()!
-
==============================
6.내가 찾고 있던 대답했다 :
내가 찾고 있던 대답했다 :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
나는 또한 당신이이 방법을 수행 할 수 있음을 배웠습니다 :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString(myCountryDateFormat);
myCountryDateFormat는 요구 사항에 따라 충족 변화에 변경 될 수있는 곳.
(가) 태그 "이 질문은 이미 여기에 답을 할 수 있습니다 :"것을 참고하시기 바랍니다 당신이 그것을 생략하는 대신 ".Date"을 사용 볼 수 있기 때문에 실제로 질문에 대답하지 않았다. 그것은 아주 .NET의 새로운 프로그래머를위한 혼란
-
==============================
7.당신이 테이블에 현재 날짜를 저장하려면 그래서 당신은 사용할 수 있습니다
당신이 테이블에 현재 날짜를 저장하려면 그래서 당신은 사용할 수 있습니다
또는 파라미터로서이 함수를 전달
예를 들면. '업데이트 tblname 세트 CURDATE = GETDATE () COLNAME 123 ='
-
==============================
8.왜 모두 문자열을 건너 뛰지 :
왜 모두 문자열을 건너 뛰지 :
SqlDateTime myDateTime = DateTime.Now;
-
==============================
9.귀하의 문제는 현재까지 날짜 시간을 절단 날짜 속성입니다. 이 같은 변환을 넣을 수 있습니다 :
귀하의 문제는 현재까지 날짜 시간을 절단 날짜 속성입니다. 이 같은 변환을 넣을 수 있습니다 :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
-
==============================
10.또 다른 해결책은 SQL 서버의 언어 설정에 관계없이 SQL Server에 C #에서 날짜 시간을 전달하는
또 다른 해결책은 SQL 서버의 언어 설정에 관계없이 SQL Server에 C #에서 날짜 시간을 전달하는
아마도 당신의 국가 별 설정 DD.MM.YYYY (독일어 표준 '104')로 날짜를 표시하는 것이 다음
DateTime myDateTime = DateTime.Now; string sqlServerDate ="CONVERT("date,'"+myDateTime+"',104)";
"104"규칙에 따라 매핑을 고려, SQL 서버 및 날짜 형식 변수에 C #의 날짜 변수를 전달합니다. SQL 서버 날짜는 YYYY-MM-DD를 얻는다
당신의 국가 별 설정이 다르게 날짜 시간을 표시 할 경우, SQL 서버 CONVERT 표에서 적절한 매칭을 사용
규칙에 대한 자세한 내용을 참조하십시오 https://www.techonthenet.com/sql_server/functions/convert.php
-
==============================
11.나는 문제가없는 두 개의 작은 따옴표 생각.
나는 문제가없는 두 개의 작은 따옴표 생각.
이것은 내가 MSSMS에 실행하는 SQL입니다 :
WHERE checktime >= '2019-01-24 15:01:36.000' AND checktime <= '2019-01-25 16:01:36.000'
당신이 볼 수 있듯이 당신의 코드가 있어야합니다, 그래서 두 개의 작은 따옴표가있다 :
string sqlFormattedDate = "'" + myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss") + "'";
MSSQL에서 또는 MySQL의 모든 문자열을 작은 따옴표를 사용합니다. 이게 도움이 되길 바란다.
-
==============================
12.단지 당신은 "T"+ DateTime.Now.ToLongTimeString () + '2015년 2월 23일'를 넣어
단지 당신은 "T"+ DateTime.Now.ToLongTimeString () + '2015년 2월 23일'를 넣어
-
==============================
13.당신이 dateTime에있는 테이블을 업데이트 싶다면,이 예처럼 SQL 문자열을 사용할 수 있습니다 :
당신이 dateTime에있는 테이블을 업데이트 싶다면,이 예처럼 SQL 문자열을 사용할 수 있습니다 :
int fieldId; DateTime myDateTime = DateTime.Now string sql = string.Format(@"UPDATE TableName SET DateFieldName='{0}' WHERE FieldID={1}, myDateTime.ToString("yyyy-MM-dd HH:mm:ss"), fieldId.ToString());
-
==============================
14.
DateTime date1 = new DateTime(); date1 = Convert.ToDateTime(TextBox1.Text); Label1.Text = (date1.ToLongTimeString()); //11:00 AM Label2.Text = date1.ToLongDateString(); //Friday, November 1, 2019; Label3.Text = date1.ToString(); Label4.Text = date1.ToShortDateString(); Label5.Text = date1.ToShortTimeString();
from https://stackoverflow.com/questions/17418258/datetime-format-to-sql-format-using-c-sharp by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 주문과 SQL 그룹으로 (0) | 2020.04.23 |
---|---|
[SQL] 어떻게 PostgreSQL을 범주별로 최대 날짜 그룹 ID를 선택하려면? (0) | 2020.04.23 |
[SQL] 어떻게 사용합니까 ROW_NUMBER ()? (0) | 2020.04.23 |
[SQL] 이유는 카운트 (*) "열"의 별칭을 사용하고 HAVING 절에서 참조 할 수 없습니다? (0) | 2020.04.23 |
[SQL] 구문에 대한 루프 SQL Server의 (0) | 2020.04.23 |