SELECT DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE())-1,0) /* определяет начало предыдущего года */
SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,GetDate())-1,0) /* определяет начало предыдущего квартала */
SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GetDate())-1,0) /* определяет начало предыдущего месяца */
SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,GetDate())-1,0) /* определяет начало предыдущей недели */
SELECT DATEADD(DAY,DATEDIFF(DAY,0,GetDate())-1,0) /* определяет начало предыдущего дня */
SELECT DATEADD(DAY,DATEDIFF(DAY,0,GetDate()),0) /* определяет начало текущего дня */
SELECT DATEADD(DAY,DATEDIFF(DAY,0,GetDate())+1,0) /* определяет начало следующего дня */
/* и т.д. */
SELECT DATEADD(MONTH,6,DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE())-1,10))/* определяет предыдущий год и фиксирует определенный месяц и день */
SELECT DATEADD(DAY,10,DATEADD(MONTH,6,DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE())-1,0)))/* аналогично */
SELECT DATEADD(YEAR,-1, DATEADD(MONTH, DATEDIFF(MONTH,0,GETDATE())-1,10))/* определяет предыдущий год, месяц ... */
SELECT EOMONTH ( GETDATE(), -1 )/* определяет конец предыдущего месяца */
SELECT EOMONTH ( GETDATE(), 0 )/* определяет конец текущего месяца */
SELECT EOMONTH ( GETDATE(), +1 )/* определяет конец следующего месяца */
Я не стал замарачиваться, в твоём случае,если не хочешь так, то нужно создавать в таблице db_users_b столбец с временем,и там дата по 'каким-то' причинам должна обновляться, а как написал swerg, так не получается,без нового столбца. Позже попробую реализовать, пока времени не хватает((