Größte gemeinsame Teiler zweier Zahlen

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

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

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 »

sp_spaceused in Tabelle unleiten

USE PUBS GO SET NOCOUNT ON CREATE TABLE #TableSpace ( Name char(20) ,RowCnt int ,Reserved varchar(15) ,Data varchar(15) ,Index_Size varchar(15) ,Unused varchar(15) ) DECLARE @Table sysname DECLARE TableCur CURSOR FOR SELECT Table_Name FROM… mehr »

Fakultät einer Zahl

CREATE FUNCTION dbo.fakultät(@n DECIMAL(38,0)) RETURNS DECIMAL(38,0) AS BEGIN DECLARE @tmp DECIMAL(38,0) IF (@n <= 1) SELECT @tmp = 1 ELSE SELECT @tmp = @n * dbo.fakultät(@n - 1) RETURN @tmp END GO SELECT… mehr »

Steigung einer Geraden

DECLARE @x1 FLOAT DECLARE @x2 FLOAT DECLARE @y1 FLOAT DECLARE @y2 FLOAT SELECT @x1 = 1, @x2 = 2, @y1 = 1, @y2 = 2 SELECT (@y2-@y1)/(@x2-@x1) -----------------------------------------------------… mehr »

Postleitzahlen überprüfen

Hier ist eine Lösung mit Hilfe einer UDF: mehr »

Postleitzahlen überprüfen

Hier ist eine Lösung mit Hilfe einer UDF: mehr »

Der hyperbolische Tangens

Sozusagen als krönender Abschluss meines Exkurses in die Statistik, hier ein Skript zur Berechnung des hyperbolischen Tangens: DECLARE @sinhyp FLOAT DECLARE @coshyp FLOAT SELECT @sinhyp=0.5, @coshyp=0.5 SELECT ((POWER(EXP(1),@sinhyp) -… mehr »

Der hyperbolische Cosinus

Dies ist die Adaption der Excel Funktion COSHYP()DECLARE @coshyp FLOATSET @coshyp=1SELECT (POWER(EXP(1),@coshyp) + POWER(EXP(1),-@coshyp) )/2 ----------------------------------------------------- 1… mehr »

Der hyperbolische Sinus

DECLARE @sinhyp FLOATSET @sinhyp = 1SELECT (POWER(EXP(1),@sinhyp) - POWER(EXP(1),-@sinhyp))/2 ----------------------------------------------------- 1.1752011936438014(1 row(s) affected) Die Variante… mehr »

Tage eines Monats Teil 2

Dieser Beitrag zeigte, wie man mit Integer Operationen die Anzahl der Tage eines Monats ermitteln kann. SQL Server MVP Steve Kass hat den folgenden Trick in den englischen Newsgroups gepostet: mehr »

Datenintegrität

Unter dem Oberbegriff Datenintegrität versteht man die Konsistenz, Fehlerlosigkeit und Richtigkeit der in einer Datenbank gespeicherten Daten. Dabei geht es nicht um physikalische Sicherheit, Fehlertoleranz oder Datensicherungen. Bildlich gesprochen… mehr »

Dynamisches SQL : Fluch und Segen

Original von Erland Sommarskog; deutsche Übersetzung von Frank Kalis Wenn Sie die verschiedenen Newsgroups über Microsoft SQL Server verfolgen, wird Ihnen auffallen, dass häufig Fragen gestellt werden, warum die Statements: SELECT * FROM @tablename… mehr »

Trigger auf Systemobjekte

Zuerst stellt sich aber die Frage, warum man so etwas machen möchte. Zu den wohl am häufigsten genannten Gründe zählt: mehr »

Kleines Beispiel über DECIMAL und FLOAT

Oftmals fragt man sich, wann DECIMAL und wann FLOAT verwendet werden soll; bzw. ob und wenn Ja, wofür FLOAT überhaupt verwendet werden soll. Eine allgemeingültige verbindliche Antwort hierauf gibt es wahrscheinlich nicht. Vielmehr hängt dies von den… mehr »

SQL Server Instanz umbenennen

Handelt es sich um die Default Instance, kann man den Namen der Maschine ändern. mehr »

SQL Server Lizenzierungsmodus ermitteln

Das Lizenzmodell von SQL Server ist IMHO alles andere als intuitiv und einfach zu verstehen. Wahrscheinlich ist das auch der Grund, warum so viele Fragen zu diesem Thema in online Communities auftauchen. Jedenfalls erhält man diese Information auf… mehr »

Datenbankbesitzer ändern

Hierfür kann man entweder SQL-DMO und die SetOwner Methode verwende oder die Systemprozedur sp_changedbowner. mehr »

SQL Wörterbuch

Dieser Artikel wird gerade überarbeitet und erweitert. SQL ist eine deklarative Sprache. Der eigentliche Sprachkern besteht aus ca. 30 Befehlen, welche sich in folgende Unterbereiche aufteilen. mehr »

Datenbanken online sichern

Ein o­nline-Backup verändert nicht die 'normale' Datenbankaktivität, hat vielleicht minimalen Einfluss auf den Transaktionsdurchsatz. Die Datenbanken werden ohne Rücksicht auf aktive Transaktionen gesichert. Anschliessend wird das Transaktions Log… mehr »

TempDB verschieben

Generell macht es Sinn, tempdb auf eine separaten Platte oder Array zu legen, um die Performance zu verbessern. Dieser Knowledgebase Artikel beschreibt, wie man sowohl Benutzer- als auch Systemdatenbanken verschiebt. Alternativ kann man das auch über… mehr »

Das Alter einer Person

In Ergänzung zu diesem Beitrag kann man auch folgende Alternativen zur Bestimmung des Alters einer Person verwenden: mehr »

Zufällig ausgewählte Datensätze zurückgeben

Die Anforderung, zufällig ausgewählte Datensätze zurückzugeben, findet man recht häufig. Analyse einer Stichprobe ist eine wahre Spielwiese für Statistiker. In T-SQL kann dies recht einfach umgesetzt werden. mehr »

Speicherverbrauch einer User Connection

24 KB Speicher werden für eine User Connection allokiert. Nun, das hört sich erst einmal nicht viel an und in den allermeisten Umgebungen wird man sich wahrscheinlich auch nicht näher damit befassen. Allerdings gibt es ein Szenario, bei dem dieser Wert… mehr »