Springen naar inhoud


- - - - -
DB .NET

Between 24U

Solved

  • Log in a.u.b. om te beantwoorden
Er zijn 11 reacties in dit onderwerp

#1 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 09 september 2012 - 08:34

SQL Code:
WHERE datum BETWEEN NOW AND (Now - 1 dag)

Iemand die weet hoe ik  (Now - 1 dag) omzet naar computertaal? :0)
- INTERVAL 1 DAY lijkt niet te werken.

Alsook -12u & +2u (als we dan toch bezig zijn)

#2 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 28 mei 2019 18:00
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 09 september 2012 - 09:15

SQL Code:
SELECT * FROM FB WHERE datum BETWEEN NOW AND DATE(NOW() - INTERVAL 1 DAY);

en anders

SQL Code:
SELECT * FROM FB WHERE datum BETWEEN NOW AND GETDATE()-7


#3 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 09 september 2012 - 10:13

nu + 1dag= Between Now() And Now()+1
nu-12uur= Between Now() And Now()-12/24
nu+2uur = Between Now() And Now()+2/24

#4 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 09 september 2012 - 11:59

Thx Pascal & Jenny.

Jenny's oplossing did the trick.

#5 Benno

Benno

    R.I.P.

  • Leden
  • PipPipPipPipPip
  • 949 berichten
    Laatst bezocht 08 mrt 2018 20:32
  • LocatieGyor, Magyarország

Geplaatst op 09 september 2012 - 20:51

Ik werk voor dat soort dingen met parameters.
Dan heb je niet datum/uur van de databaseserver (belangrijk als je server in b.v. Niew Zeeland staat) en je bent niet afhankelijk van het dialect van je rdbms (datum en tijd functies zijn niet dezelfde voor de verschillende rdbms).
Bijvoorbeeld met OLEDB:

Visual Basic Code:
Private Function InzendingenTussen(start As DateTime, einde As DateTime) As DataTable
	 Const selectSQL As String =
			 "SELECT Inzending.Id, Inzending.Tijdstip, Inzending.Team FROM Inzending " +
			 "WHERE Inzending.TijdStip BETWEEN @StartMoment AND @EindMoment"
	 Dim adapter As New OleDb.OleDbDataAdapter(selectSQL, Connection)
	 With adapter.SelectCommand.Parameters
		 .Add("StartMoment", OleDb.OleDbType.Date).Value = start
		 .Add("EindMoment", OleDb.OleDbType.Date).Value = einde
	 End With
	 Dim table As New DataTable("Inzendingen")
	 adapter.Fill(table)
	 Return table
End Function

Private Sub InzendingenTussen()
	 ' Met uren:
	 DataGridViewNietGelezen.DataSource = InzendingenTussen(DateTime.Now.AddDays(-1), DateTime.Now)
	 ' enkel datum, geen uur
	 DataGridViewGelezen.DataSource = InzendingenTussen(DateTime.Today.AddDays(-1), DateTime.Today)
End Sub



#6 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 10 september 2012 - 05:31

Hey Benno,

Ik doe het meestal ook zo, maar ik vroeg mij af, waarom een parameter doorgeven als het toch een vast gegeven is...vandaar dat ik het zo 'oplos' :)

#7 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 10 februari 2013 - 16:15

@Jenny
Enige idee hoe ik dit voor maanden doe?
nu-6maanden= Between Now() And Now()-6/12 lijkt niet te werken.

#8 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 10 februari 2013 - 16:21

Mjah...

Between Now() - 2232/24 And Now() + 8928/24 werkt :blush:

#9 Benno

Benno

    R.I.P.

  • Leden
  • PipPipPipPipPip
  • 949 berichten
    Laatst bezocht 08 mrt 2018 20:32
  • LocatieGyor, Magyarország

Geplaatst op 10 februari 2013 - 21:17

En als je parameters had gebruikt:
Visual Basic Code:
start = DateTime.Now.Date.AddMonths(-2)
einde = DateTime.Now.Date.AddYears(1)

of zo (twee maanden <> 6 maanden).

#10 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 10 februari 2013 - 21:52

Had idd ook gekunnen :)
'k Probeer zoveel mogelijk van die prulletjes te doen in SQL zelf, vermits dit vaste parameters zijn.

#11 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 10 februari 2013 - 23:27

tussen nu en nu+1 maand=  Between Now() And DateAdd('M',1,Now())
tussen nu en nu+6 maanden =  Between Now() And DateAdd('M',6,Now())
tussen nu en nu-3 maanden =  Between Now() And DateAdd('M',-3,Now()
maar kijk naar de sql DateAdd() functie van uw dbms,er kunnen verschillen zijn

#12 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 07 maart 2013 - 09:30

Just for the record, in SQL heb'k het zo gedaan:

SQL Code:
WHERE datum between dateadd(HOUR, -4, GETDATE())  and DATEADD(hour, +12, GETDATE())






Ook met taq DB .NET, Solved voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[DB .NET] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)