Archiv für: "August 2004"

Summenwert einer Reihe
Aug 18th
Dies ist ein beliebtes Beispiel für Informatikstudenten im Anfangsstadium, um die Auswirkungen effizienter Algorithmen zu demonstrieren. Also auch hier nicht unbedingt etwas, was man zwingend in einer Datenbank machen müßte, das sich aber durchaus… mehr »

Binärzahl in Dezimalzahl umwandeln
Aug 18th
Normalerweise würde man solche Fragestellungen. welcher Dezimalzahl nun 1011001 entspricht, damit beantworten, in dem man auf den Client verweist. Was aber, wenn man einfach wissen will, wie so etwas in T-SQL aussehen könnte? Ob man es dann später… mehr »

Unterschiede zwischen MONEY und DECIMAL
Aug 16th
SQL Server MVP Steve Kass hat dieses Beispiel in den englischen Newsgroups gepostet. Es zeigt, daß der Einsatz der Datentypen zur Speicherung monetärer Daten sorgfältig durchdacht sein sollte. Man sollte stets bedenken, welche Operationen mit diesen… mehr »

Determinismus von CHARINDEX und PATINDEX
Aug 12th
In BOL werden CHARINDEX() und PATINDEX() als nichtdeterministische Stringfunktionen aufgelistet. Warum eigentlich? Man sollte meinen, das ceteris paribus auch bei diesen Funktionen stets ein identisches Ergebnis herauskommt. Richtig, und gleichzeitig… mehr »

Daten aus Excel abfragen
Aug 10th
In fast allen Online Communities sieht man solche Fragen mit schöner Regelmässigkeit auftauchen. Die vielleicht einfachste Methode, diese Daten abzufragen, besteht in der Verwendung von OPENROWSET: mehr »

Zahl rechts-oder linksbündig mit 0 formatieren
Aug 9th
Die Präsentation von Informationen aus der Datenbank ist imho eher Sache des Clients als die des Servers. Solche Aufgaben gehören zum Handswerkzeug jedes Front-End und sind dort schnell und einfach erledigt.
Falls jedoch, aus welchen Gründen auch immer,… mehr »

N-te Wurzel einer Zahl
Aug 3rd
Tja, wieder so ein Beispiel, dass man mal in der Schule gelernt hat, aber immer genau dann vergisst, wenn man es braucht.
DECLARE @My1 FLOAT
DECLARE @My2 FLOAT
SELECT @My1 = 16, @My2 = 4
SELECT POWER(@My1, 1/@My2)… mehr »

Kleinste gemeinsame Vielfache zweier Zahlen
Aug 3rd
CREATE FUNCTION dbo.kgv(@zahl1 int, @zahl2 int )
RETURNS INT
AS
BEGIN
RETURN (@zahl1 * @zahl2) / dbo.ggt(@zahl1, @zahl2)
END
GO
SELECT dbo.kgv(24,36)
DROP FUNCTION dbo.kgv
-----------
72
(1 row(s) affected)
Der Vollständigkeit… mehr »

Größte gemeinsame Teiler zweier Zahlen
Aug 3rd
Dies ist die Adaption der Excel Funktion GGT().
CREATE FUNCTION dbo.ggt(@zahl1 int, @zahl2 int) RETURNS INT AS BEGIN DECLARE @zahl3 INT SET @zahl3=1 WHILE (@zahl3 <> 0) BEGIN SET @zahl3=@zahl1 % @zahl2 SET @zahl1=@zahl2… mehr »

Dynamisches SQL innerhalb einer Funktion
Aug 2nd
Dynamisches SQL kann nicht innerhalb einer Funktion ausgeführt werden. Genausowenig können Stored Procedures aufgerufen werden. Der einzige Workaround hier ist, eine andere Logik anzuwenden, um um den dynamischen Teil herumzukommen. So führt z.B.… mehr »

Sequentielle Nummerierung eines Resultsets
Aug 2nd
Eine beliebte Frage mit unzähligen Antworten. Meine Lieblingsantwort darauf ist, dies in der Präsentationsschicht seiner Anwendung zu machen. IMHO ist dies Aufgabe des Clients, nicht des Servers. Wenn es aber unbedingt in T-SQL gemacht werden soll, kann… mehr »
