Establecer el valor pnetworkingeterminado en la columna SI se cumple la condición en SQL 2008

En primer lugar, soy muy nuevo con la consulta SQL, así que me disculpo si sueno ignorante …

Tengo una database que tiene un trabajo almacenado para soltar y crear una tabla cada hora. La tabla se ve así, excepto que hay datos por cada hora entre 1 y 24

Name Hour1 Hour24 Point 1 OUT 4 5 Point 1 IN 26 22 Point 2 OUT 46 44 Point 2 IN 0 0 Point 3 OUT 18 19 Point 3 IN 56 51 Point 4 OUT 111 100 Point 4 IN 0 0 Point 5 OUT 0 0 Point 5 IN 42 46 Point 6 IN 210 211 

Después de soltar y crear, la database agrega una columna al final llamada date y establece la date actual como la pnetworkingeterminada. Mi problema es que al importar los datos a las 12:00 a.m., la date actual es en realidad mañana. Para fines contables, necesito que los datos tengan el mismo día.

Hice una toma en la oscuridad e intenté esto, pero la syntax es incorrecta …

 [Date] [datetime] DEFAULT if(DATEPART(hh)=24) CONVERT(GETDATE(DATEPART(dd)-1)) 

¿Es posible una statement if como esta en una consulta create table? ¿Hay una mejor manera de resolver esto?

¡Gracias por la ayuda!

Sí, puedes configurar un valor pnetworkingeterminado, pero quieres que la syntax sea correcta:

 [date] datetime default (case when datepart(hh, getdate()) = 24 then getdate() - 1 else getdate() end) 

Sin embargo, no creo que deba tener un valor de datetime y datetime en un campo llamado "date". Qué tal si:

 AsOfDate date default (case when datepart(hh, getdate()) = 24 then cast(getdate() - 1 as date) else cast(getdate() as date) end)