Grundkomponenten - Beuth Hochschule für Technik Berlin

Werbung
Grundkomponenten
2 Grundkomponenten
Die SQL-Sprache des SQL Servers heisst Transact-SQL und hat wie jede andere Computersprache
folgende Grundelemente:
Literale
alphanumerische, hexadezimale oder numerische Konstante
'Stuttgart'
"1000 Berlin 30"
X'53514C0D'
130
-130.00
-0.357E5
Begrenzer
Trenner der lexikalischen Einheiten:
, ( ) < > . : = + - * / <> <= >=
Kommentare mit: /* ... */ oder --
Namen
bis zu 30 alphanumerische Zeichen, muss mit einem Buchstaben oder _ # @ beginnen.
Numerische Datentypen
decimal(p,[q])
beschreibt Festpunktzahlen. Die Angabe p kennzeichnet die Anzahl aller Ziffern und q die
Anzahl der Ziffern hinter dem Dezimalkomma. Decimal-Werte werden, abhängig von der
Angabe p, in 2 bis einschliesslich 17 Byte gespeichert.
numeric(p,[q]) Synonym für decimal
real
beschreibt Gleitkommazahlen, deren Wertebereich dem Datentyp float des C-Übersetzers
an dem jeweiligen Rechner entspricht.
float[(p])
beschreibt Gleitkommazahlen, deren Wertebereich dem Datentyp double des C-Übersetzers
an dem jeweiligen Rechner entspricht. Die Angabe p spezifiziert die Genauigkeit, wobei für
p<16 die einfache Genauigkeit (4 Byte) und für p>=16 die doppelte Genauigkeit (8 Byte)
verwendet wird.
double
precision
Synonym für den Datentyp float mit der doppelten Genauigkeit.
money
wird für die Darstellung von Geldbeträgen verwendet. Die money-Werte entsprechen den
decimal-Werten, die in acht Byte gespeichert und auf zwei Stellen hinter dem Komma
aufgerundet sind.
smallmoney
entspricht dem money-Datentyp, wird aber in 4 Byte gespeichert.
Alphanumerische Datentypen
Der alphanumerische Datentyp ermöglicht die Darstellung von Zeichenketten, wobei alle alphanumerischen
Zeichen innerhalb der Zeichenkette auftreten können. Die alphanumerischen Datentypen sind:
TFH Berlin/Steyer
2-1
Grundkomponenten
char(n)
beschreibt eine Zeichenkette, wobei n die Anzahl der Zeichen innerhalb der Zeichenkette
angibt. Der Wert von n kann bis zu 255 betragen. character(n) ist eine zusätzliche,
äquivalente Schreibweise für char(n).
varchar(n)
beschreibt eine Zeichenkette variabler Länge (0<n<256). Dieser Datentyp unterscheidet sich
vom Datentyp char dadurch, dass die varchar-Werte genau in ihrer tatsächlichen Länge
gespeichert werden. Synonyme sind char varying bzw. character varying.
text(n)
definiert eine Textdatei bis zu 2 Gigabyte Länge.
nchar(n)
steht für national char(n). Jede Zeichenkette dieses Datentyps definiert die Zeichenkette
vom Typ cbar(n) für den jeweiligen nationalen Zeichensatz.
nvarchar(n)
steht für national varchar(n). Jede Zeichenkette dieses Datentyps definiert die Zeichenkette
vom typ varchar(n) für den jeweiligen nationalen Zeichensatz.
Datums- und Zeitangaben
datetime
beschreibt eine Datums- und Zeitangabe, als Ganzzahlen in je vier Byte gespeichert.
smalldatetime beschreibt eine Datums- und Zeitangabe, als Ganzzahlen in je zwei Byte gespeichert sind.
Binäre Datentypen und der Datentyp bit
binary(n)
beschreibt eine Bitkette fester Länge mit genau n 8-Bit-Bytes (0<n<256)
varbinary(n)
beschreibt eine Bitkette variabler Länge mit maximal n 8-Bit-Bytes (0<n<256)
image(n)
beschreibt eine Bitkette fester Länge, deren Bitkette fast uneingeschränkt ist. Die Grenze
liegt bei 2**31 Bytes.
Abgeleitete Datentypen
timestamp
beschreibt eine Spalte, die vom System als varbinary(8) definiert ist. Der Wert dieser
Spalte wird jedesmal um eins erhöht, wenn eine Zeile mit der timestamp-Spalte eingefügt
bzw. geändert wird. Der Benutzer kann den Wert der timestamp-Spalte nicht ändern.
sysname
beschreibt die Namen von Datenbankobjekten im Systemkatalog (als varchar(20) definiert).
Aggregatfunktionen
Die Aggregatfunktionen werden auf Datenwerte aus einer Spalte angewendet.
AVG
MAX
MIN
SUM
COUNT
arithmetisches Mittel
grösster Wert
kleinster Wert
Summe aller Datenwerte
Anzahl der Datenwerte
Numerische Funktionen
abs(n)
acos(n)
asin(n)
absoluter Wert von n
Arcuscosinus von n
Arcussinus von n
TFH Berlin/Steyer
2-2
Grundkomponenten
atan(n)
atn2(n,m)
ceiling(n)
cos(n)
cot(n)
exp(n)
log(n)
log10(n)
pi
power(n,e)
rand
round(n,p)
sign(n)
sin(n)
sqrt(n)
tan(n)
Arcustangens von n
Arcustangens von n/m
nächste grössere Ganzzahl von n
Cosinus von n
Cotangens von n
e hoch n
natürlicher Logarithmus von n
Zehnerlogarithmus von n
Zahl PI
n hoch e
Zufallszahl zwischen 0 und 1
rundet n mit Genauigkeit p
liefert Vorzeichen von n (+1,0,-1)
Sinus von n
Quadratwurzel von n
Tangens von n
Datumsfunktionen
yy(year)
qq(quarter)
mm(month)
dy(day of year)
dd(day)
dw(day of week)
wk(week)
hh(hour)
mi(minute)
ss(second)
ms(millisecond)
datepart(einheit,datum)
datename(einheit,datum)
datediff(einheit,dat1,dat2)
dateadd(einheit,zahl,datum)
getdate()
Jahreswert
Quartal
Monat
Jahrestagsnummer
Tag
Wochentag
Woche
Stunde
Minute
Sekunde
Millisekunde
liefert Zahl für einheit in datum
liefert Zeichenkette für einheit
Zeitunterschied in einheit
addiert zahl Einheiten zu datum
liefert aktuelle Datum und Zeit
Zeichenkettenfunktionen
ascii(zeichen)
char(ganzzahl)
convert(typ,[(lng)],a)
charindex(z1,z2)
difference(z1,z2)
lower(z1)
ltrim(z)
patindex(z1,spalte)
replicate(z,i)
reverse(z)
right(z,länge)
rtrim(z)
space(länge)
str(b1,[länge])
stuff(z1,a,länge,z2)
substring(z,a,länge)
upper
TFH Berlin/Steyer
wandelt zeichen in ASCII
wandelt ganzzahl in CHAR
wandelt Ausdruck a in typ
liefert Position von z1 in z2
liefert phonetische Ähnlichkeitszahl
wandelt Grossbuchstaben in klein um
entfernt führende Leerzeichen
liefert Position von z1 in spalte
wiederholt z i-mal
ändert in z die Zeichenreichenfolge
liefert rechten Teil von z
entfernt schliessende Leerzeichen
liefert Leerzeichenkette
wandelt binäre Zahl b1 in Zeichenkette
ersetzt a in z1 durch z2 mit länge
liefert aus z ab a in länge
wandelt Kleinbuchstaben in gross um
2-3
Grundkomponenten
BLOB-Funktionen
patindex(%muster%,ausdr)
textptr(spalte1)
textvalid(sp1,zeiger1)
gibt Position von muster in ausdr (oder 0)
Textpointer auf physikalische Seite von spalte1
prüft, ob zeiger1 korrekt für Spalte sp1
Systemfunktionen
col_name(o_id,s_id)
col_length(obj,sp)
data_length(z)
db_id([db_name])
db_name([db_id])
index_col(tab,i,nr)
is_null(ausdr,ausdr1)
host_id([host])
host_name([h_id])
object_id(obj_name)
obj_name(obj_id)
user_id([ben_name])
user
user_name([ben_id])
suser_id([name])
suser_name([id])
liefert Name von s_id in Objekt o_id
liefert längsten Spaltenwert von sp
berechnet Länge von z
liefert Bezeichner zu Datenbankname
liefert Name zu Datenbankbezeichner
liefert Spaltenname in tab
ersetzt ausdr durch ausdr1, wenn er NULL ist
liefert Bezeichner für Hostrechnername
liefert Name für Hostrechnerbezeichner
gibt Bezeichner für Datenbankobjektname
gibt Name für Datenbankobjektbezeichner
liefert Bezeichner für Benutzername
Synonym für user_name
liefert Name für Benutzerbezeichner
gibt Bezeichner für Server-Benutzername
gibt Name für Server-Benutzerbezeichner
Geburtsjahre für alle Zeilen:
select year(geburt) from person
Alter für alle Zeilen:
select year(getdate())-year(geburt) from person
TFH Berlin/Steyer
2-4
Herunterladen