2014-09-30 117 views
0

時,轉換失敗嘗試運行此查詢,以便在課程中返回文件列表,但在轉換varchar值'BUE時遇到此轉換失敗的錯誤'到數據類型int。將varchar值'BUE'轉換爲數據類型int

select 
    (CASE 
    WHEN isnull (Search_Hotel . ExFull. value ('(//Hotel/@source)[1]' , 'varchar(10)'), '')='YCIX' 
    THEN Search_Hotel.ExFull.value('data(//Hotel/@city)[1]','int') 
    WHEN isnull (Search_Hotel . ExFull. value ('(//HotelBeds/ServiceHotel/@type)[1]' , 'varchar(20)'), '')='ServiceHotel' 
    THEN 'BUE' 
    ELSE 
    0 -- Sin identificable    
    END), 
* from 
FileService 

回答

1

試試這個

select 
    (CASE 
    WHEN isnull (Search_Hotel . ExFull. value ('(//Hotel/@source)[1]' , 'varchar(10)'), '')='YCIX' 
    THEN Search_Hotel.ExFull.value('data(//Hotel/@city)[1]','varchar(10)') 
    WHEN isnull (Search_Hotel . ExFull. value ('(//HotelBeds/ServiceHotel/@type)[1]' , 'varchar(20)'), '')='ServiceHotel' 
    THEN 'BUE' 
    ELSE 
    '0' -- Sin identificable    
    END), 
* from 
FileService 
+0

EXCELENTE,我是歡迎您。大豆muy despistado。 – npalle 2014-09-30 15:50:44

相關問題