SQL Sum Function bei nvarchar Werten Konvertierung
Das erste Cast wandelt den Nvarchar Wert aus Lo.Kosten in einen Float.
Das zweite Cast wandelt den Float Wert aus Lo.Kosten in einen Decimal Wert.
Die Replace Function wandelt die „,“ in „.“ ab.
Die Sum Function summiert den Wert auf.
select sum(CAST(CAST(REPLACE(Lo.Kosten, ‚,‘, ‚.‘) AS float) AS decimal(6, 2))) from lohnberechnung as lo
Geschützt: Datev Parameterdatei BnFibu.ini Formatschnittstelle
SQL Test Datev Eingangsrechnungen / Kosten
SQL Test Datev Ausgangsrechnungen
In den anhängenden Controllings befinden sich die Inhalte, die Individuell bei Ausgangsrechnungen in die Datenfelder Buchungstext, Beleg1, Beleg2, Kost1 und Kost2 über SQL-Scripte geschrieben werden können. Ausserdem wird das Leistungsdatum, Länderkennzeichen und die Debitorennummer mit übertragen. Häufig reicht dieses Controlling schon aus um Fehler bei der Übergabe zu analysieren.
[download id=“609″]
SQL Anweisung Punkt und Strich aus Zeichenkette entfernen
SQL Anweisung um Zeichen aus einer Zeichenkette zu entfernen.
replace(replace(projnr,‘-‚,‘ ‚),‘.‘,‘ ‚)
Bindestrich und Unterstrich werden aus der Zeichenkette entfernen.
SELECT REPLACE(REPLACE(REPLACE(REPLACE(kstktr, ‚P‘, “),‘ ‚,“),‘.‘, “),‘-‚,“) FROM rebBuchung
Aus dem Feld KSTKTR werden die Zeichen P| Leerzeichen|.|-| entfernt
Geschützt: Controlling für Soll und Istkosten im Projektbereich (SQL)
SQL Script zur Fibu Übergabe bei EU Ausland oder Drittland
Mit diesem Script wird eine Datei mit allen ISO Ländercodes
angelegt. Im Ländercode der Adresse wird dann entweder EU (EU-Ausland) oder DR (Drittland) eingetragen. In die Benutzerfelder 2/3/4 wird der
ISO Code und das Land eingetragen.
[download id=“550″] – nur nach Absprache.
SQL Beispiel um aus einer 1:N Tabelle die jeweils höchste Nr der Detailtabelle zu ziehen
–Holt sich die Netto Angebotssumme aus dem letzten (höchste Angebotsnr) zum Projekt
select ANR, BRUTTOWERT-USTWERT as Netto, PROJEKTNR from
(
SELECT MAX(PA.ANGEBOTSNR) as ANR, PA.ProjNr FROM (select Angebotsnr, Projnr from Angebot A inner JOIN Projekt P ON P.ProjNr = A.PROJEKTNR) as PA GROUP BY PA.ProjNr
) as MAXA inner join Angebot A on A.ANGEBOTSNR = MAXA.ANR
Alternativ könnte man das jetzt über eine Hilfstabelle (projekte) in ein gesondertes Datenfeld schreiben.
declare @projekte table (ANGEBOTSNR nvarchar(max), PROJEKTNR nvarchar(max), netto float)
insert into @projekte
select ANR, PROJEKTNR, BRUTTOWERT-USTWERT as Netto from
(
SELECT MAX(PA.ANGEBOTSNR) as ANR, PA.ProjNr FROM (select Angebotsnr, Projnr from Angebot A inner JOIN Projekt P ON P.ProjNr = A.PROJEKTNR) as PA GROUP BY PA.ProjNr
) as MAXA inner join Angebot A on A.ANGEBOTSNR = MAXA.ANR
Update Projekt set Benutzer9 = PR.netto from Projekt P inner join @projekte PR on PR.PROJEKTNR = P.ProjNr
SQL um Wagenrücklauf (CR) und Zeilenvorschub (LF) zu entfernen
CHAR(13)
Line Feed (LF)oder Zeilenvorschub heisst nach unten in die nächste Zeile
CHAR(10)
ProjNr,ProjAdr,Replace(Replace(ProjBezeichnung,CHAR(10),‘ ‚),CHAR(13),‘ ‚) as ProjBez,AuftragsSumme,P.AbtNr