[SQL] alleen de tijd uit een datetime veld

Pagina: 1
Acties:
  • 1.329 views sinds 30-01-2008
  • Reageer

  • TheLemon
  • Registratie: Augustus 2001
  • Laatst online: 02-04-2025

TheLemon

daddy cool, crazy like a fool

Topicstarter
Is vast heel simpel, maar ik krijg hem er wel uit, maar dan in Engelse notatie.

code:
1
SELECT RIGHT(CONVERT(Datetime, dDatum, 105), 6) AS Tijd

Levert op: 3:48PM

Ik probeer dus eerst naar NL te converteren en vervolgens de tijd eruit de pikken, maar dat converteren werkt niet.

Hoe zou ik dit moeten doen?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

In welke taal is de app geschreven, in C# kun je een DataTime object bijvoorbeeld zelf printen in een desgewenst format.

[ Voor 23% gewijzigd door pjvandesande op 21-04-2005 16:49 ]


  • TheLemon
  • Registratie: Augustus 2001
  • Laatst online: 02-04-2025

TheLemon

daddy cool, crazy like a fool

Topicstarter
In VB.net, alleen ik bind het resultaat van mijn stored procedure (in SQL server) direct aan een Datagrid, dus ik zou niet weten hoe ik tussentijds die conversie nog kan doen.

[ Voor 5% gewijzigd door TheLemon op 21-04-2005 16:52 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Is er geen FormatDate of DateFormat functie in SQL Server?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:02
TheLemon schreef op donderdag 21 april 2005 @ 16:51:
In VB.net, alleen ik bind het resultaat van mijn stored procedure (in SQL server) direct aan een Datagrid, dus ik zou niet weten hoe ik tussentijds die conversie nog kan doen.
select datepart (hh, getdate()), datepart(mi, getdate()), datepart(ss, getdate())

https://fgheysels.github.io/


  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
whoami schreef op donderdag 21 april 2005 @ 16:58:
[...]


select datepart (hh, getdate()), datepart(mi, getdate()), datepart(ss, getdate())
Dan heb je drie aparte kolomen.. En dan deze als string weer aan elkaar plakken?

code:
1
CONVERT(varchar(8), createtime,108)

[ Voor 9% gewijzigd door stp_4 op 21-04-2005 17:13 ]

stp - PSN ID: stp_4


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:02
en je kan ook dit doen:

code:
1
select convert(char(8), getdate(), 8)

[ Voor 3% gewijzigd door whoami op 21-04-2005 17:03 ]

https://fgheysels.github.io/


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 21:15
code:
1
SELECT CONVERT(Datetime, dDatum, 108) AS Tijd

Levert tijd in hh:mm:ss format op

Edit: ik snap niet dat je dat niet gevonden hebt, als je CONVERT(Datetime, dDatum, 105) wel hebt gevonden...

[ Voor 38% gewijzigd door sig69 op 21-04-2005 17:04 ]

Roomba E5 te koop


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
CONVERT(VARCHAR(10).DatumTijdVeldje,108)

Oops! Google Chrome could not find www.rijks%20museum.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:02
sig69 schreef op donderdag 21 april 2005 @ 17:03:
code:
1
SELECT CONVERT(Datetime, dDatum, 108) AS Tijd

Levert tijd in hh:mm:ss format op

Edit: ik snap niet dat je dat niet gevonden hebt, als je CONVERT(Datetime, dDatum, 105) wel hebt gevonden...
+ de datum toch ?

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Precies, die 108 is alleen van toepassing op converteren naar een string. Het datatime datatype heeft altijd een datum en een tijd.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 21:15
Volgens mijn BOL niet Crap...

Naar een varchar gaat het inderdaad goed.
Het is ook datetime formaat, dat zegt het al een beetje...

[ Voor 87% gewijzigd door sig69 op 21-04-2005 17:13 ]

Roomba E5 te koop


  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
test maar

:)

[ Voor 7% gewijzigd door stp_4 op 21-04-2005 17:11 ]

stp - PSN ID: stp_4


  • TheLemon
  • Registratie: Augustus 2001
  • Laatst online: 02-04-2025

TheLemon

daddy cool, crazy like a fool

Topicstarter
whoami schreef op donderdag 21 april 2005 @ 17:03:
en je kan ook dit doen:

code:
1
select convert(char(8), getdate(), 8)
Thanx, ik heb er dit van gemaakt:
code:
1
SELECT     CONVERT(char(5), dDatum, 8)
sig69 schreef op donderdag 21 april 2005 @ 17:03:
code:
1
SELECT CONVERT(Datetime, dDatum, 108) AS Tijd

Levert tijd in hh:mm:ss format op
Nee dan krijg je inderdaad de datum cadeau.

Verwijderd

TheLemon schreef op donderdag 21 april 2005 @ 16:51:
In VB.net, alleen ik bind het resultaat van mijn stored procedure (in SQL server) direct aan een Datagrid, dus ik zou niet weten hoe ik tussentijds die conversie nog kan doen.
Je moet helemaal geen conversie doen!

In ASP.NET heeft een datagrid/kolom een DataFormatString-property ofzo. Als je deze de volgende waarde geeft dan krijg je alleen de tijd: {0:t}

Zoiets zal ook wel in het datagrid-component van VB.NET kunnen. Je moet zelf ff de details hiervan opzoeken.

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
Verwijderd schreef op donderdag 21 april 2005 @ 21:25:
[...]

Je moet helemaal geen conversie doen!

In ASP.NET heeft een datagrid/kolom een DataFormatString-property ofzo. Als je deze de volgende waarde geeft dan krijg je alleen de tijd: {0:t}

Zoiets zal ook wel in het datagrid-component van VB.NET kunnen. Je moet zelf ff de details hiervan opzoeken.
Maar als je op deze manier geen conversie toepast, krijg je dan niet de datum (en dus tijd) niet te zien zoals je regional settings staan ingesteld?

stp - PSN ID: stp_4


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

To format the data display, set the Format property of the DataGridTextBoxColumn class to one of the formatting values. For more information about valid formatting values, see Date and Time Format Strings and Standard Numeric Format Strings.
Pompom.... :)

Professionele website nodig?


  • TheLemon
  • Registratie: Augustus 2001
  • Laatst online: 02-04-2025

TheLemon

daddy cool, crazy like a fool

Topicstarter
Aha, dat kan ik ook nog doen dan. Zo zie je weer dat er meerdere goede wegen naar Rome leiden.
Snelheid is niet echt een issue in mijn geval, dus ik denk dat ik het gewoon laat bij de oplossing van whoami.

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:02
Ik denk toch dat die andere oplossing beter is, aangezien je presentatie-laag eigenlijk verantwoordelijk is voor het voorstellen van de gegevens.
Daarbij komt ook nog dat je het voordeel hebt van de door sinaasappelsap aangedragen oplossing, dat het nog een 'echte' datetime is, terwijl mijn oplossing er eigenlijk voor gezorgd heeft dat je datum naar een (var)char gecast werd.

https://fgheysels.github.io/


  • TheLemon
  • Registratie: Augustus 2001
  • Laatst online: 02-04-2025

TheLemon

daddy cool, crazy like a fool

Topicstarter
Ja ok, ik ben het ermee eens dat het wel netter is en het zal ook ietsje sneller zijn, omdat je een conversie minder hebt.

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
TheLemon schreef op vrijdag 22 april 2005 @ 12:42:
Ja ok, ik ben het ermee eens dat het wel netter is en het zal ook ietsje sneller zijn, omdat je een conversie minder hebt.
Je hebt dan toch geen conversie minder? Je hebt dan 1 conversie op presentatielaag ipv op querie niveau. Anders had de conversie op querie niveau plaatsgevonden ipv presentatielaag.

stp - PSN ID: stp_4


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

stp_4, die "conversie" op de presentatielaag is een andere manier van formatteren. Dat zou bij een volledige datum toch wel moeten gebeuren, dus kun je niet echt een conversie noemen. Gewoon een formattering. In .NET is dat trouwens beresnel, omdat het gecompileerd wordt. Bij SQL is dat niet (helemaal) zo.

[ Voor 4% gewijzigd door _Thanatos_ op 22-04-2005 12:54 ]

日本!🎌

Pagina: 1