Datum aus einer DATETIME Spalte entfernen

Posted on Jul 13, 2004 von in SQL Server
SELECT RIGHT(STUFF(CONVERT(CHAR(22),GETDATE(),13),21,4,' '),9)
          
--------- 
10:14:40 

(1 row(s) affected)

--Oder

SELECT CONVERT(CHAR(8), GETDATE(), 8)
         
-------- 
10:14:40

(1 row(s) affected)

--Oder

SELECT CONVERT(CHAR(8), GETDATE(), 108)
         
-------- 
10:14:40

(1 row(s) affected)

Falls man auch noch die Millisekunden braucht, kann man:

SELECT CONVERT(CHAR(12),GETDATE(),114)
             
------------ 
10:20:16:033

(1 row(s) affected)

ausführen.

Summe pro Woche anzeigen

Posted on Jul 13, 2004 von in SQL Server
USE Northwind
GO
SELECT 
 n.dow
 , ISNULL(SUM(o.Freight),0)
  FROM Orders o 
 RIGHT JOIN 
     (SELECT 1 
          dow 
     UNION ALL SELECT 2 
     UNION ALL SELECT 3 
     UNION ALL SELECT 4 
     UNION ALL SELECT 5 
     UNION ALL SELECT 6 
     UNION ALL SELECT 7) n
 ON DATEPART(w,Orderdate) = n.dow
GROUP BY n.dow

dow                               
----------- --------------------- 
1           13772.8400
2           12858.7800
3           11069.5500
4           12114.7200
5           15126.8000
6           .0000
7           .0000

(7 row(s) affected)

Warnung: NULL-Wert wird durch eine Aggregat- oder eine andere SET-Operation gelöscht.

Danke an Jonathan Van Houtte.

Trace in eine Tabelle exportieren

Posted on Jul 13, 2004 von in SQL Server
SELECT 
*
INTO
Trace_Table_Name
FROM :: fn_trace_gettable('c:\MyTrace.trc', DEFAULT)

BOL beschreibt ausführlicher die fn_trace_gettable Funktion.

IIF in T-SQL

Posted on Jul 13, 2004 von in SQL Server

Dies ist eine oft gestellte Frage in SQL Server Communities. Die Antwort lautet...

Ganze Geschichte »

2 Kommentare »

Tabelle in eine andere Filegroup verschieben

Posted on Jul 13, 2004 von in SQL Server

Die einfachste Lösung hierfür ist es, den Clustered Index auf dieser anderen Filegroup neu zu erstellen. Die Verwendung der DROP EXISTING Option beschleunigt diese Operation.

SELECT New_Life

Posted on Jul 13, 2004 von in Vermischtes

Danke an David Burrows, der mir diesen Batch zur Geburt meines zweiten Sohnes schrieb!
Keep up the good work and see ya on SQL Server Central, Dave!

DROP Dirty_Nappy
GO
SELECT
Clean_Nappy
FROM
Nappy_Pile
WHERE
COUNT(Clean_Nappy) > 0
INSERT Baby INTO Clean_Nappy
GRANT ALL Smiles to Baby
GO

Nachtrag zum Datetime Datentypen

Posted on Jul 13, 2004 von in SQL Server


Die anderen 4 Byte speichern die Tageszeit, die als Anzahl der Millisekunden seit Mitternacht dargestellt wird.

Dies kann man in der Januar 2004 Edition von BOL  nachlesen.

Ganze Geschichte »

Der DATETIME Datentyp

Posted on Jul 13, 2004 von in SQL Server

Der DATETIME Datentyp ist 8 Bytes gross. Die ersten vier Bytes speichern die Anzahl der Tage vor oder nach dem 01.01.1900; die letzten vier Bytes speichern die Anzahl der 'Clock Ticks' seit Mitternacht. Die binäre Darstellung jedes der beiden 4-byte Stücke ist tatsächlich die gleiche die auch für Integer Darstellung benutzt wird. Jede Sekunde besteht aus 300 Ticks, die merkwürdigerweise um ein Vielfaches präziser sind als @@TIMETICKS.

Ganze Geschichte »