Belirli satırlar için metni bir hücreye birleştirmek için STUFF işlevini kullanmaya çalışıyorum. VARCHAR değerleri için iyi çalışır, ancak bir DATETIME değeriyle STUFF kullandığımda bir hata alırım: "Bir varchar veri türünün bir datetime veri türüne dönüştürülmesi aralık dışı bir değere neden oldu." Değeri yayınlamaya çalıştım ama beklediğim değerleri döndürmüyor. Bir şeySQL STUFF DATETIME Tüm değerleri geri döndürmez
gibi" Mar 29 2016 9:42AM, Mar 31 2016 9:42AM, Mar 31 2016 9:43AM"
olurdu her CreatedDate satırda dönmeye çalışıyorum ama sadece değerlerden birini sergiliyor Ne
. ..
SELECT
[KEY]
,STUFF((SELECT distinct ', ' + [Code] FROM #tempTable t WHERE t.[KEY]=tt.[KEY] FOR XML PATH('')),1,1,'') AS [Code]
,STUFF((SELECT distinct ', ' + CAST([CreatedDate] AS NVARCHAR(100)) FROM #tempTable t WHERE t.[KEY]=tt.[KEY] FOR XML PATH('')),1,1,'') AS [CreatedDate]
FROM #tempTable tt
Group by KEY
Eğer 'şeyler' işlevini unutursanız ve basitçe 'cast' (nvarchar (100) olarak oluşturulduğunda) seçeneğini seçerseniz ne olur? –
Örneğinizin oluşturduğu tarih değerleri – TheGameiswar
verebilir miyim? anahtar değeri 12345 ve bu belirli anahtar değerinin üç kaydı vardır. İlk kayıttan 12345 anahtarına kadar olan tarih Mar 29 2016 9:42, ikinci kayıt tarihinden Mar 31 2016 9:42 ve üçüncü kayıttan Mar 31 2016 9:43 AM. – BrettKB