2011-08-17 10 views
6

मैं एक मेज तालिका में Field_Data और डेटा कहा जाता है लगता है कि है:श्रृंखलाबद्ध इंट कॉलम

Date       Final_ID 
2011-02-25 00:00:00.000  70212_1 
2011-02-25 00:00:00.000  70212_2 
2011-03-09 00:00:00.000  70852_1 
2011-03-09 00:00:00.000  70852_3 

मैं कुछ इस तरह कर रही करने की कोशिश की:

Date       Track_ID   Item# 
2011-02-25 00:00:00.000  70212    1 
2011-02-25 00:00:00.000  70212    2 
2011-03-09 00:00:00.000  70852    1 
2011-03-09 00:00:00.000  70852    3 

मैं उत्पादन प्राप्त करने के लिए कोशिश कर रहा हूँ के रूप में:

:

Select Date,Track_ID + '_' + Item# AS Final_ID 
From Field_Data 

लेकिन यह मुझे निम्न त्रुटि दे दी है

Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value '_' to data type int.

क्या कोई मेरी मदद कर सकता है कि यह कैसे करें? एसक्यूएल सर्वर 12+ में, वहाँ एक CONCAT समारोह उपलब्ध किसी भी नया पृष्ठ आगंतुकों के लिए अप

Select Date,CAST(Trakc_ID as varchar(20)) + '_' + CAST(Item# as varchar(20)) as Final_ID 
From Field_Data 

उत्तर

20

आप varchar रूप INT क्षेत्रों कास्ट करने के लिए की जरूरत है।

SELECT CONCAT([Date], [TrackId], '_', [ItemNumber]) AS FinalId 
FROM FieldData 
+1

मुझे 11 सेकंड तक मारो! –

+1

@ एबे - आपने पिछले दौर जीता, इसलिए अब हम बंधे हैं मुझे लगता है। – JNK

+2

कृपया बिना लंबाई के वर्चर का उपयोग न करें। http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx –

संबंधित मुद्दे