Ca și în interogarea Delphi7 SQL, faceți o condiție folosind funcția
Ca și în interogarea Delphi7 SQL, faceți condiția cu
folosind funcția: există un câmp Date (din formatul "DD.MM.AAAA") - are date. Este necesar să selectați înregistrări pentru care luna = actuală.
Spune-mi, te rog, cum să faci asta.
unde to_char (DATE) ca "% .08.%"
Ei bine, în loc de 08, înlocuiți numărul lunii curente
pentru MSSQL:
unde luna (data) = luna (getdate ())
sau
unde datepart (mm, date) = datepart (mm, getdate ())
Această interogare poate fi utilizată în MS SQL Server delphi (există o Lună-F).
SELECT * FROM Tabel WHERE Luna (DATEFIELD) = Luna (: data)
Îmi cer scuze, nu a funcționat într-adevăr - scrie că utilizarea nevalidă a cuvintelor cheie (Date)
În loc de data, trebuie să scrieți numele câmpului. Dacă câmpul este denumit dată, trebuie să îl redenumiți - nu utilizați cuvântul rezervat ca identificator.
este vorba despre bulele magice, fără ca nici o interogare să nu funcționeze.
și nu depinde de tipul de server SQL (spuneți acest lucru nu credeți!).
P.S. Buletele sunt vândute în aproape orice magazin.
Firește, câmpul se numește "BirthDate"
în cererea am avut aceasta:
unde luna (BirthDate) = luna (getdate ())
DVP1 (21 august 03 11:27) [11]
vezi [6]
PS:
- Doctorul mă ignoră.
- următorul
; o (((
nee ghicit. apoi regret să vă informez că sarcina din performanța dvs. nu are nicio soluție.
Pentru Semionul Sorokin:
Server SQL lipseste si care DBMS este necesar, de fapt, in loc de SQL-server "a?
În mod special, DBMS nu a fost instalat, dar lucrez cu dBase.
încercați, ca xBase suportă luna și data
unde luna (BirthDate) = luna (data ())
Din nou, el scrie că folosirea nevalidă a cuvintelor cheie (BIRTHDATE),
dar unde este xBase? - acest program nu se aplică la 1C
ca opțiune:
unde data nașterii>: data1 și data nașterii <:date2
unde data1 este ultima zi a lunii precedente și data2 este prima zi a lunii următoare :))
> Nu am instalat DBMS în mod specific, dar lucrez cu dBase.
Ei bine, cel puțin ceva concret, încă mai puteți presupune că BDE este folosit și trimis. în ajutorul SQL local. ; o))
unde există aproximativ următoarele
SELECT DOB, LastName, FirstName
De la oameni
Unde (EXTRACT (LUNĂ DE DOB) = 5)
(pot folosi, nu există drepturi de autor; o)))
WHERE (EXTRACT (LUNĂ DE LA BIRTHDATE) = 5) - aceasta funcționează, dar ar trebui să am luna curentă în loc de "5", cum pot să o obțin în interogare?
treci valoarea de la delphi (de exemplu, un parametru), în SQL local nu există nici o funcție a datei curente.
(puteți, desigur, pe altul, schimbați motorul la Jet, de exemplu, există, dar merită?)