Spalten eines Index ermitteln
Frage: Die Spalten eines Index sollen ermittelt werden. Lösung: Hier hilft die Gespeicherte Prozedur sp_helpindex ‚deineTabelle‚. /* übernommen aus der Original sqlfaq.de */
Datenbanken – Daten – Datenschutz
Frage: Die Spalten eines Index sollen ermittelt werden. Lösung: Hier hilft die Gespeicherte Prozedur sp_helpindex ‚deineTabelle‚. /* übernommen aus der Original sqlfaq.de */
Frage: Ein Integer-Wert soll mit führenden Nullen ausgegeben werden. Lösung: Eine Kombination der Befehle STR und REPLACE liefert den Integer-Wert mit führenden Nullen als String zurück. Folgendes Beispiel liefert „000001“: DECLARE @a INT SET @a = 1 SELECT REPLACE(STR(@a,6),‘ ‚,0) /* übernommen aus der Original sqlfaq.de */
Frage: Das Datum zweier Spalten vom Datentyp datetime soll ohne Uhrzeit verglichen werden. Lösung: Für einen solchen Vergleich muss der Inhalt der datetime-Spalte in eine Spalte vom Datentyp varchar(10) konvertiert werden: convert(varchar(10), meindatum, 112) = convert(varchar(10), meinanderesdatum, 112) /* übernommen aus der Original sqlfaq.de */
Frage: Anhand eines Geburtsdatums soll das aktuelle Alter ermittelt werden. Lösung: Beispiele gibt es unter http://www.insidesql.org/blogs/frankkalis/2004/07/13/das-alter-einer-person und http://www.insidesql.org/blogs/frankkalis/2004/07/13/das-alter-einer-person-1. /* übernommen aus der Original sqlfaq.de */
Frage: Per T-SQL soll geprüft werden, ob ein Feld in einer Tabelle existiert. Lösung: Diese Prüfung lässt sich über die Schematas lösen. If Exists (Select * From Information_Schema.Columns Where Table_Name = ‚tabellenname‚ And Column_Name = ‚spaltenname‚) Select ‚Feld vorhanden‘ Else Select ‚Feld nicht vorhanden‘ Vielen Dank für diesen Beitrag an Thomas Fischer. /* übernommen aus … Weiterlesen
Frage: Per T-SQL sollen Zeichenfolgen Case-Sensitiv verglichen werden. Lösung: Der Vergleich wird über die Erweiterung der WHERE-Bedingung mit der COLLATE-Anweisung möglich. Ein Beispiel: WHERE SpalteA = SpalteB COLLATE Latin1_General_CS_AS /* übernommen aus der Original sqlfaq.de */
Frage: Gleitkommazahlen in varchar-Spalten sollen in den Datentyp money konvertiert werden. Wegen dem Dezimaltrennzeichen werden die Zahlen jedoch nicht korrekt konvertiert. So wird z.B. aus der Zahl 123,45 die Zahl 12345,00. Wie kann eine korrekte Konvertierung erreicht werden? Lösung: Da gibt es zwei Möglichkeiten: SELECT CAST(REPLACE(zahl,‘,‘,‘.‘) AS DECIMAL(8,2)) oder SELECT CAST(REPLACE(REPLACE(zahl,‘.‘,“),‘,‘,‘.‘) AS DECIMAL(8,2)) Vielen Dank … Weiterlesen
Frage: Eine einstellige Zahl soll mit führenden Nullen angezeigt werden. Lösung: Für eine solche Ausgabe muss die Zahl in einen String konvertiert und dieser mit den führenden Nullen ergänzt werden. Beispiel mit einem Datum: declare @Datum datetime set @datum = ‚20040101‘ select right(’00‘ + convert(varchar(2),day(@Datum)),2) Beispiel mit einer Zahl: declare @Zahl int set @Zahl = … Weiterlesen
Frage: Die Datenbanken einer SQL Server-Installation sollen aufgelistet werden. Lösung: Eine solche Auflistung kann mit der SQL-Anweisung Select name From master..sysdatabases oder über eine Auswertung der Schemata mit Select catalog_name From Information_Schema.Schemata erfolgen. Microsoft empfiehlt die Schemata zu nutzen, da sich die Systemtabellen in Zukunft ändern könnten. /* übernommen aus der Original sqlfaq.de */
Frage: Das Ergebnis einer Gespeicherten Prozedur soll in einer Tabelle gespeichert werden. Lösung: Das Speichern des Ergebnisses einer Gespeicherten Prozedur ist mit folgender Syntax möglich: Insert Into tabellenname EXEC procname Voraussetzung hierfür ist, dass die angegebene Tabelle bereits existiert und die Spalten dieser Tabelle den Ergebnisspalten der Gespeicherten Prozedur entsprechen. Vielen Dank für diesen Beitrag … Weiterlesen