[C# .NET] DateTime SQL 변환 오류

박제현·2024년 6월 6일
0

.NET

목록 보기
3/7

원인

// Computer.class
public int ComputerId { get; set; }
public string Motherboard { get; set; }
public int? CPUCores { get; set; }
public bool HasWifi { get; set; }
public bool HasLTE { get; set; }
public DateTime? ReleaseDate { get; set; }
public decimal Price { get; set; }
public string VideoCard { get; set; }

ReleaseDate 변수가 DateTime 형으로 선언되어 있을 때, C#에서는 기본적으로 yyyy. M. d. tt h:mm:ss 형태의 포맷으로 설정되어 있기 때문에, MS SQL에서 DATE 형으로 등록할 때 파싱 오류가 발생한다.

해결

{computer.ReleaseDate?.ToString("yyyy-MM-dd")}

그래서 형식지정자를 이용해 yyyy-mm-dd 형으로 변환 시킨 뒤 SQL을 전송한다.

형식 지정자

문자의미형태
M10 이하는 한자리
MM두자리 표현
MMM축약형 월문자로 표현(APR, JAN, etc..)
d10 이하는 한자리
dd두자리 표현
ddd축양형 일문자로 표현(Mon, Tue, etc..)
yy두자리 표현
yyyy네자리 표현
h시간12시간 표현법, 10 이하는 한자리
hh시간24시간 표현법, 두자리 표현
H시간24시간 표현법, 10 이하는 한자리
HH시간24시간 표현법, 두자리 표현
m10 이하는 한자리
mm두자리 표현
s10 이하는 한자리
ss두자리 표현
tt정오AM / PM
profile
닷넷 새싹

0개의 댓글

관련 채용 정보