AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MSSQL Datumsformat ändern
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL Datumsformat ändern

Ein Thema von Overburn · begonnen am 4. Mär 2008 · letzter Beitrag vom 4. Mär 2008
Antwort Antwort
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#1

MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 09:56
Datenbank: MSSQL Express • Version: 2005 • Zugriff über: Stored Procedure
Moin,

ich bin gerade dabei eine StoredProcedure zu bauen. Dafür benötige ich allerdings alle Teile des Datums in zwei Stellen. Also statt 04.03.2008 04.03.08.
Wie kann ich das anpassen?

Gruß,
Stefan
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:07
Anzeigedatumsformat ändern.
Markus Kinzler
  Mit Zitat antworten Zitat
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#3

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:13
Soweit konnt ich auch schon denken...

WIE geht das?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:15
Wie sieht die SP aus?
Markus Kinzler
  Mit Zitat antworten Zitat
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#5

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:22
Noch ist da garnichts. Ich weiß aber, dass diese Funktion elementarer bestandteil sein wird.

Im großen und ganzen brauche ich eine Storedprocedure,
die ein Feld aus der Datenbank liest. In diesem stehen das aktuelle Jahr, der aktuelle Monat und der Tag als String. Die entsprechenden Teile sollen miteinander verglichen werden und bei nichtübereinstimmung entsprechend auf den aktuellen Wert geändert werden. Dann soll da noch eine laufende Nummer angehangen werden.

Gruß
Stefan
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:23
Zitat von Overburn:
ich bin gerade dabei eine StoredProcedure zu bauen. Dafür benötige ich allerdings alle Teile des Datums in zwei Stellen. Also statt 04.03.2008 04.03.08.
Wozu ??
Ein Datum sollte immer im internen Format transportiert werden!
Erst an der Benutzeroberfläche findet eine Umwandlung in einen menschenlesbaren String statt.

Folgende SP macht einen grossen Fehler: Datum wird als String übergeben
CREATE PROCEDURE test_bad @tag varchar(4), @monat varchar(2), @jahr varchar(2) AS ... So wäre es richtig
CREATE PROCEDURE test_good @datum DATE AS ...
Andreas
  Mit Zitat antworten Zitat
Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#7

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:28
Die Sache ist die.
Die Teile sind bestandteil einer Auftragsnummer die folgendes Format hat:

JJ6DDMM

Das ganze dient dazu um eine eindeutige ID zuzuweisen. Da leider auch ein Fremdsystem damit arbeiten muss, welche sich die Nummer aus unserer Datenbank holt, MUSS das so passieren. Da eine Anpassung des Fremdsystems nicht vorgesehen ist.

Gruß,
STefan
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 10:34
Liefernr = CAST(YEAR(datum) as varchar(2)) + '6' + CAST(MONTH(datum) as varchar(2))+CAST(DAY(datum) as varchar2)
Andreas
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#9

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 11:52
Es gibt die Funktion Datepart:
MSDN LIB. DatePart
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: MSSQL Datumsformat ändern

  Alt 4. Mär 2008, 22:02
Vielleicht so...

SQL-Code:
DECLARE @datum DATETIME
DECLARE @datumSTR VARCHAR(8)

SELECT @datum = '4.3.2008'
SELECT @datumSTR = CONVERT(VARCHAR, @datum, 4)
PRINT @datumSTR
Das Datum so zu verarbeiten ist allerdings nicht sinnvoll. Aus dem Jahrtausendwechsel-Problem sollte man etwas lernen!

Gruss
Thorsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz