SQL 스크립트에 다음과 같은 정수 유형 값이 있습니다 : @year
, @month
, @day
. 이제는 이들을 datetime 값으로 변환하려고합니다. 쉬워야 할거야, 그렇지?int 값을 사용하여 SQL에서 날짜/시간을 설정합니까?
글쎄, 난 그냥 SQL 문서를 통해 갔다 및 문자열을 변환 한 다음 날짜 시간에 이외의 이렇게 할 어떤 방법을 찾을 수 없습니다 매우 놀랐습니다.
declare @dt datetime
set @dt= convert(varchar,@year)+'/'+convert(varchar,@month)+'/'+convert(varchar,@day)
이 끔찍한입니다! 확실히 int 값에서 datetime으로 직접 변환하는 방법이 있어야합니까?
를 그들이 처음에 있어야로 VARCHAR와 같은 값을 정의하지 왜. 이들은 zip이 문자열 데이터이거나 전화 번호가 문자열 데이터 인 것처럼 정수 데이터가 아닌 문자열 데이터입니다. – HLGEM
@HLGEM : 거기에는 약간의 차이가 있다고 생각합니다. ZIP 또는 전화 번호에 대한 산술 연산은 거의 사용하지 않지만, 년/월/일의 경우에는 해당되지 않습니다. 이 숫자는 해당 월이 시작된 이후의 일수, BC/AD 전환 후 연수, 연초 이후의 월 수를 나타냅니다. ZIP 또는 전화 번호는 단지 숫자 일뿐입니다. –
나는 datetime 데이터 형식을 사용하여 모든 날짜 계산을 수행하고 나머지는 표시에만 사용합니다. 그리고 달과 일은 일반적으로 선행 제로가 필요하므로 int로 저장하는 것이 가장 좋습니다. 어쨌든, 그 값을 날짜 데이터 형으로 변환하기를 원할 경우, 그 값을 처음으로 정의해야합니다. – HLGEM