Mám otázku, ktorú som si "nie je istý, či je to možné, alebo nie, ale povedzme, že mám tabuľku s Employeeid, Date a AttendanceStatus tzn." Present "/" Absent ".
Môžem získať status všetkých zamestnancov pre všetkýchdátumy alebo dátumy, ktoré špecifikujem v dotaze. Moja otázka je, že je možné, aby sa dnes "s dátumom v predvolenom nastavení, takže vždy, keď spustím dotaz, aby mi dátové riadky pre dnešné" s namiesto všetkých záznamov z databázy. Chcem použiť predvolené, aby som nemusel meniť dátum každý deň. Vopred ďakujem
odpovede:
2 pre odpoveď č. 1Skúste to:
select * from TABLE_NAME where
where cast([Date] as date) = cast(getdate() as date)
Ako už bolo uvedené, môžete vytvoriť zobrazenie:
create view V_TABLE_NAME as
select * from TABLE_NAME where
where cast([Date] as date) = cast(getdate() as date)
1 pre odpoveď č. 2
Môžete použiť, kde klauzula pre aktuálny deň;
select * from table where
Date > cast(getdate() as date) and
Date < DATEADD(day,1,cast(getdate() as date))
Alebo môžete vytvoriť zobrazenie;
create view v_table
as
select * from table where
Date > cast(getdate() as date) and
Date < dateadd(day,1,cast(getdate() as date))
Potom dopyt;
select * from v_table
0 pre odpoveď č. 3
Skúste túto logiku
DECLARE @MyDate DATE
SELECT
*
FROM YourTable
WHERE DateField = ISNULL(@MyDate,GETDATE())
Ak nie sú v parametri @MyDate odovzdané žiadne hodnoty, bude mať aktuálny dátum ako predvolené. Môžu byť tiež použité nasledujúce
DECLARE @MyDate DATE
SELECT
*
FROM YourTable
WHERE
DateField = CASE WHEN ISDATE(@MyDate) = 1 THEN @MyDate ELSE GETDATE() END