2012-05-16 5 views
0

내가이 쿼리 (다른 서버에서 덤프)SQL Server 데이터 삽입

CREATE TABLE [Reservation_reserve_room] (
    [id] int NOT NULL , 
    [reservation_id] int NULL , 
    [room_id] int NULL , 
    [room_name] varchar(255) NULL , 
    [reserve_date] date NULL , 
    [reserve_time_start] time(7) NULL , 
    [reserve_time_end] time(7) NULL 
) 

INSERT INTO [Reservation_reserve_room] 
VALUES (N'1', N'1', N'1', N'Monday Room Sermmit', N'2012-03-12', 0x30373A30303A30302E30303030303030, 0x30383A30303A30302E30303030303030); 

을 가지고 있지만 때 실행, 그것은

[Err] 42000 - [SQL Server]Implicit conversion from data type varbinary to time is not allowed. Use the CONVERT function to run this query.

내가 그것을 어떻게 해결합니까이 오류가?

+1

"어떻게 수정합니까?" - CONVERT 함수를 사용하십시오 ... –

+0

'CONVERT 함수를 사용하여이 쿼리를 실행하십시오 .'. 심플 스. –

+0

'0x30373A30303A30302E30303030303030 '이란 무엇입니까? 밀리 초, 초, 다른 것? –

답변

0

시간 필드의 테이블에 입력하는 값이 유효하지 않습니다.

사용 Cast(Value as Time)는 시간

INSERT INTO [Reservation_reserve_room] VALUES (N'1', N'1', N'1', N'Monday Room Sermmit', 
N'2012-03-12', cast(0x30373A30303A30302E30303030303030 as Time), 
CAST(0x30383A30303A30302E30303030303030 as Time)); 
+0

질문은 오류를 수정하는 것이 아니라 오류를 수정하는 방법입니다. –

+0

이것은 오류가 발생하는 이유를 알고 그것을 해결하고 해결책을 이해하는 첫 단계입니다. – Purplegoldfish

+0

@Ash Burlaczenko, 코드에서 유효하지 않은 datetime을 유효한 datetime으로 어떻게 변환 할 수 있는지 알려주십시오. –

0

내가 SQL에서 허용됩니다 알고있는 시간 형식은 항상 2012년 3월 '12입니다 '로 변환합니다. 이 형식은 많은 DB 유형에 적합하며 날짜와 월 번호를 혼동하지 않습니다.

0

사용 CONVERT

CONVERT(TIME, CONVERT(BIGINT, 0x30373A30303A30302E30303030303030)) 

하거나

CONVERT(TIME, 0x0000E0FF01E0FF01E0FF01E0FF01E0FF0100000000) 


    INSERT INTO [Reservation_reserve_room] VALUES (N'1', N'1', N'1', N'Monday Room Sermmit', N'2012-03-12', CONVERT(time, 0x30373A30303A30302E30303030303030) 
, CONVERT(time, 0x30373A30303A30302E30303030303030)); 

MSDN

+0

'데이터 형식 datetime으로 표현식을 변환하는 산술 오버플로 오류가 발생했습니다. ' –

+0

0x30373A30303A30302E30303030303030은 무엇입니까? – Pranav

+0

나는 당신의 코드가 실행되지 않는다는 것을 알고있다. –

1

에이 문서를 읽고 사용

CONVERT(time,CONVERT(varchar,0x30373A30303A30302E30303030303030)) 

행운

+0

datetime을 binary/varbinary 문자열에서 변환 할 때 변환이 실패했습니다. – everisk

+0

하지만 게시하기 전에 테스트를 거쳤습니다! MS SQL Server 2008 R2에서 테스트를 마쳤습니다. – Shahin

+1

@everisk 이것은 2008 년과 2008r2에서 모두 테스트를 거쳐 작동합니다. – Bridge