Fråga : Handla med ogiltigt värderar i SQL hänger Queries, hur gör jag

Spring för förmiddag I en query som får en månadstidning summarisk av reor, genom att använda för kund, hänger i SQL 2008.  Mitt problem är att, när I-försök att tillfoga månadstidningresultat för en slutsumma i Coldfusion, mig får fel tack vare ogiltiga, värderar.  SQL låter inte isnull i hängaområdet, och den fungerar inte i dataområdet, sedan det inte finns ibland några försäljare i en månad för en kund, så det bearbetar aldrig månaden för att konvertera det ogiltigt värderar till nolla.  Jag skulle uppskattar någon rådgivning på att handla med denna på endera SQLEN, eller CF sid.  @rep för Thanks

declare @repint
set = *
FROM (
SELECT
för 999999

SELECT contacts.first_name + ''+ contacts.last_name-affärsbiträdet, ÅRET för
(invoice_date) [året], för FALLMÅNADEN för

(invoice_date) NÄR 1 DÄREFTER 'January'
NÄR DÄREFTER 'br/> för March'< 2 DÄREFTER 'February'
NÄR 3 NÄR DÄREFTER 'br/> för May'< 4 DÄREFTER 'April'
NÄR 5 NÄR DÄREFTER 'br/> för July'< 6 DÄREFTER 'June'
NÄR 7 NÄR DÄREFTER 'br/> för September'< 8 DÄREFTER 'August'
NÄR 9 NÄR DÄREFTER 'November'< 10 DÄREFTER 'October'
NÄR 11br/>, NÄR 'br/> för December'< 12 AVSLUTAR DÄREFTER, som [månaden],
invoice_hdr.customer_id,
customer.customer_name, total_amount
för isnull för
((total_amount - frakt), 0) FRÅN
för invoice_hdr (nolock) sammanfogar kunden (nolock) på invoice_hdr.customer_id = customer.customer_id
sammanfogar kontakter (nolock) på contacts.id = invoice_hdr.salesrep_id
VAR året (invoice_date) = 2010 och invoice_hdr.salesrep_id = @rep
) SalesSummary
PIVOT
,
för SUMMAN för
((total_amount) FÖR [månaden] IN (
[Januari], [Februari], [March], [April] ,
[maj] [Juni], [Juli], [August],
[September], [Oktober], [November], [December]
för
)) SOM PivotTable
ORDER AV affärsbiträdet, customer_name, customer_id, [året] desc
" klar "

Svar : Handla med ogiltigt värderar i SQL hänger Queries, hur gör jag

Hi learningunix,

fodra kontrollerar, om byten längst till vänster av ”numeriskt” är ”1”.

”&numen” är en pekare till minnet tilltalar var den första byten av ”numeriskt” bor. ”(Char*)” casts denna pekare ”&num” (som är en pekare till int), till en pekare för att bränna till kol. Sedan rödingen är, en byte data skrivar att ta fram att ”pekaren som ska brännas till kol” med ”*” tar fram den första byten av inten. I lite endian denna byte måste att vara ”1” för och ”int”, som är ”1” - i stort endian den första skulle byten är ”0”, sedan den minst viktiga byten är mest höger…,

Hoppas att hjälp,

ZOPPO

Andra lösningar  
 
programming4us programming4us