Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Von Datetime Feld nur Date anzeigen, MS SQL Express
retok
Geschrieben am: Sa 13.09.2008, 13:10
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 80
Mitglied seit: 7.05.2008


Ich dachte eigentlich es sei ein triviales Problem, habe aber bislang keine simple Lösung gefunden.

Möchte mit einem SQL Query u.a. ein Feld vom Typ datetime auslesen, dabei aber nur das Datum ohne die Zeit im Resultset haben.

SELECT Name, Datum FROM Tabelle

Ich hätte irgendwie erwartet, das MS SQL Express hierfür einen coolen Befehl hat. Habe aber nichts gefunden. Bin auf meiner Suche nur auf so ganz komplizierte Lösungen mit Casting gestossen, das muss doch einfacher gehen?
Top
PMEmail Poster
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Sa 13.09.2008, 13:40 (+00:29)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2410
Mitglied seit: 4.02.2006


Geht doch ganz einfach mit Convert:

QUOTE
Convert(nvarchar(10), getdate(), 120) = 2008-09-12

QUOTE
Convert(nvarchar(10), getdate(), 104) = 12.09.2008


Oder nur die Uhrzeit:

QUOTE
Convert(nvarchar(5), getdate(), 108) = 14:35


Das generiert allerdings Textdaten.

http://www.sql-und-xml.de/server-daten/sql...st-convert.html

In einer .NET-Umgebung macht man das meistens anders: Man legt erst bei der Anzeige in der Html-Seite fest, wie die DateTime-Spalte ausgegeben wird. Dann hat man innerhalb des Codes noch bsp. die Sortierung nach Datum/Uhrzeit.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
retok
#3 Geschrieben am: Sa 13.09.2008, 14:03 (+00:23)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 80
Mitglied seit: 7.05.2008


QUOTE (jAuer @ Sa 13.09.2008, 14:40)
Geht doch ganz einfach mit Convert:

QUOTE
Convert(nvarchar(10), getdate(), 120) = 2008-09-12

QUOTE
Convert(nvarchar(10), getdate(), 104) = 12.09.2008


Oder nur die Uhrzeit:

QUOTE
Convert(nvarchar(5), getdate(), 108) = 14:35


Das generiert allerdings Textdaten.

http://www.sql-und-xml.de/server-daten/sql...st-convert.html

In einer .NET-Umgebung macht man das meistens anders: Man legt erst bei der Anzeige in der Html-Seite fest, wie die DateTime-Spalte ausgegeben wird. Dann hat man innerhalb des Codes noch bsp. die Sortierung nach Datum/Uhrzeit.

QUOTE
Convert(nvarchar(10), getdate(), 104) = 12.09.2008


Danke... blöde Frage aber: Wie verwende ich das in einem SELECT? Wo kommt da der Feldname rein? getdate(Feldname)?

QUOTE

In einer .NET-Umgebung macht man das meistens anders: Man legt erst bei der Anzeige in der Html-Seite fest, wie die DateTime-Spalte ausgegeben wird. Dann hat man innerhalb des Codes noch bsp. die Sortierung nach Datum/Uhrzeit.


Ich verwende es unter Asp.Net. Habe ich auch schon gedacht, erst beim Anzeigen die Zeit abzuschneiden. Habe aber auch dafür keine Lösung gefunden, wie ich in einem GridView->BoundField Einfluss auf die Variablenformatierung habe. Weisst Du das?
Top
PMEmail Poster
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#4 Geschrieben am: Sa 13.09.2008, 17:48 (+03:45)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2410
Mitglied seit: 4.02.2006


QUOTE (retok @ Sa 13.09.2008, 14:03)
Wie verwende ich das in einem SELECT? Wo kommt da der Feldname rein? getdate(Feldname)?


Da, wo getdate() steht und das aktuelle Datum reinsetzt. Also

QUOTE
Select A.Id, Convert(nvarchar(10), A.Datum, 120) As Tag
From Tabelle As A



QUOTE (retok @ Sa 13.09.2008, 14:03)
Ich verwende es unter Asp.Net. Habe ich auch schon gedacht, erst beim Anzeigen die Zeit abzuschneiden. Habe aber auch dafür keine Lösung gefunden, wie ich in einem GridView->BoundField Einfluss auf die Variablenformatierung habe. Weisst Du das?


Äh ja, ich verwende ASP.NET 'etwas unkonventionell'. Ich nutze nämlich all diese vorgefertigten Objekte nicht, sondern habe entweder eigene Objekte, die in ihrer eigenen Render-Methode Html-Output generieren oder die Seite ist einer Klasse zugeordnet, deren Render-Methode ein Html-Gerüst mit Xml-Fragmenten aus der Datenbank über eine Xsl-Transformation nach Html transferiert.

Nach einem Blick in die Doku: Eventuell ist die Eigenschaft DataFormatString die richtige.

Setze da mal

QUOTE
dd.MM.yyyy


rein, wobei der Select-Befehl nur die Spalte 'A.Datum' zurückgibt, so daß die Spalte vom Datentyp DateTime ist.

Ich bin mir allerdings nicht ganz sicher, ob das die richtige Stelle ist. Es könnte auch sein, daß man das schon direkt im DataTable.DataColumn - Objekt festlegt - per Expression - Eigenschaft. Im Prinzip müßte das irgendwo möglich sein. Ich hole mir die Werte eben oft per .ToString() und ergänze dann dort die Formatierung. Oder das wird auf der Basis einer Xml-Darstellung gemacht.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
retok
#5 Geschrieben am: Sa 13.09.2008, 18:31 (+00:42)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 80
Mitglied seit: 7.05.2008


Danke für die ausführliche Erklärung. Ich verwende auch nicht immer die vorgefertigten Objekte, aber für gewisse einfache Tasks finde ich sie eigentlich sehr praktisch.

Ueber Deinen Hinweis betreffend DataFormatString habe ich dann eine einfache Lösung gefunden:

Im BoundField-Objekt diesen Paramenter einfügen: DataFormatString="{0:d}"

Und jetzt zeigts nur noch das Datum an.


Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/26307

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Mpeg in doppelter Größe anzeigen Ronald Nickel 164 8 Di 30.09.2008, 13:07
Große Dateien auf Server anzeigen?! Toblerone 334 6 So 31.08.2008, 18:32
Sicherheit im Login-Feld webber 561 19 Mo 9.06.2008, 10:17
TLDs länderspezifisch anzeigen SLM 183 2 Do 8.05.2008, 22:31
Lage auf Googlemas nach PLZ & Ort anzeigen? japsa 300 2 Do 8.05.2008, 18:23
Google stoppt Anzeigen für Linkhändler jAuer 757 13 Do 24.04.2008, 14:05
Fileupload-Feld leer nach "javascript back" (php) HPI-Service 396 6 So 20.04.2008, 19:31
historie/unterschiede anzeigen pangu 187 7 Fr 28.03.2008, 14:13
Adsense - englische Anzeigen verbieten Toblerone 222 2 Di 11.03.2008, 14:13
Stelle im Text anzeigen pl_90 214 5 Do 14.02.2008, 00:33




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]