在 sql server 2008 中的两个日期之间获取 Id

Posted

技术标签:

【中文标题】在 sql server 2008 中的两个日期之间获取 Id【英文标题】:To get Id between two dates in sql server 2008 【发布时间】:2012-04-12 13:01:10 【问题描述】:

帮帮我,

我有一张这样的桌子

WEEK_ID WEEK_STARTDATE  WEEK_YEAR   WEEK_MONTH  WEEK_CREATEDTS
------------------------------------------------------------------------
252 10/26/2008  2008    11  2008-10-07 15:10:00.000
253 11/02/2008  2008    11  2008-10-07 15:10:00.000
254 11/09/2008  2008    11  2008-10-07 15:10:00.000
255 11/16/2008  2008    11  2008-10-07 15:10:00.000
256 11/23/2008  2008    12  2008-10-07 15:10:00.000
257 11/30/2008  2008    12  2008-10-07 15:10:00.000
258 12/07/2008  2008    12  2008-10-07 15:10:00.000
259 12/14/2008  2008    12  2008-10-07 15:10:00.000
260 12/21/2008  2008    12  2008-10-07 15:10:00.000
266 2/1/2009             2009   2   2008-10-07 15:16:00.000
267 02/08/2009  2009    2   2008-10-07 15:16:00.000
268 02/15/2009  2009    2   2008-10-07 15:16:00.000
269 02/22/2009  2009    2   2008-10-07 15:16:00.000
270 3/1/2009             2009   3   2008-10-07 15:17:00.000
271 03/08/2009  2009    3   2008-10-07 15:17:00.000
272 03/15/2009  2009    3   2008-10-07 15:17:00.000
273 03/22/2009  2009    3   2008-10-07 15:17:00.000
274 3/29/2009            2009   4   2008-10-07 15:19:00.000
275 04/05/2009  2009    4   2008-10-07 15:19:00.000
276 04/12/2009  2009    4   2008-10-07 15:19:00.000
277 04/19/2009  2009    4   2008-10-07 15:19:00.000
278 04/26/2009  2009    4   2008-10-07 15:19:00.000
279 5/3/2009             2009   5   2008-10-07 15:20:00.000
280 05/10/2009  2009    5   2008-10-07 15:20:00.000
281 05/17/2009  2009    5   2008-10-07 15:20:00.000
282 05/24/2009  2009    5   2008-10-07 15:20:00.000
283 5/31/2009            2009   6   2008-10-07 15:34:00.000
284 06/07/2009  2009    6   2008-10-07 15:34:00.000
285 06/14/2009  2009    6   2008-10-07 15:34:00.000
286 06/21/2009  2009    6   2008-10-07 15:34:00.000
287 6/28/2009   2009    7   2008-10-07 15:36:00.000
288 07/05/2009  2009    7   2008-10-07 15:36:00.000
289 07/12/2009  2009    7   2008-10-07 15:36:00.000
290 07/19/2009  2009    7   2008-10-07 15:36:00.000
291 07/26/2009  2009    7   2008-10-07 15:36:00.000
297 12/28/2008  2009    1   2008-10-08 03:45:00.000
298 01/04/2009  2009    1   2008-10-08 03:45:00.000
299 01/11/2009  2009    1   2008-10-08 03:45:00.000
300 01/18/2009  2009    1   2008-10-08 03:45:00.000
301 01/25/2009  2009    1   2008-10-08 03:45:00.000
302 8/2/2009    2009    8   2008-10-28 12:52:00.000
303 08/09/2009  2009    8   2008-10-28 12:52:00.000
304 08/16/2009  2009    8   2008-10-28 12:52:00.000
305 08/23/2009  2009    8   2008-10-28 12:52:00.000
306 8/30/2009            2009   9   2008-10-28 12:54:00.000
307 09/06/2009  2009    9   2008-10-28 12:54:00.000
308 09/13/2009  2009    9   2008-10-28 12:54:00.000
309 09/20/2009  2009    9   2008-10-28 12:54:00.000
310 9/27/2009   2009    10  2008-10-28 12:54:00.000
311 10/04/2009  2009    10  2008-10-28 12:54:00.000
312 10/11/2009  2009    10  2008-10-28 12:54:00.000
313 10/18/2009  2009    10  2008-10-28 12:54:00.000
314 10/25/2009  2009    10  2008-10-28 12:54:00.000
315 11/1/2009            2009   11  2008-10-28 12:55:00.000
316 11/08/2009  2009    11  2008-10-28 12:55:00.000
317 11/15/2009  2009    11  2008-10-28 12:55:00.000
318 11/22/2009  2009    11  2008-10-28 12:55:00.000
319 11/29/2009  2009    12  2008-10-28 12:55:00.000
320 12/06/2009  2009    12  2008-10-28 12:55:00.000
321 12/13/2009  2009    12  2008-10-28 12:55:00.000
322 12/20/2009  2009    12  2008-10-28 12:55:00.000
323 12/28/2009  2010    1   2008-10-28 12:56:00.000
324 01/04/2010  2010    1   2008-10-28 12:56:00.000
325 01/11/2010  2010    1   2008-10-28 12:56:00.000
326 01/18/2010  2010    1   2008-10-28 12:56:00.000
327 01/25/2010  2010    1   2008-10-28 12:56:00.000
329 02/01/2010  2010    2   2010-01-18 08:10:00.000
330 02/08/2010  2010    2   2010-01-18 08:10:00.000
331 02/15/2010  2010    2   2010-01-18 08:10:00.000
332 02/22/2010  2010    2   2010-01-18 08:10:00.000
333 03/01/2010  2010    3   2010-01-18 08:11:00.000
334 03/08/2010  2010    3   2010-01-18 08:11:00.000
335 03/15/2010  2010    3   2010-01-18 08:11:00.000
336 03/22/2010  2010    3   2010-01-18 08:11:00.000
337 03/29/2010  2010    4   2010-03-17 11:00:00.000
338 04/05/2010  2010    4   2010-03-17 11:00:00.000
339 04/12/2010  2010    4   2010-03-17 11:00:00.000
340 04/19/2010  2010    4   2010-03-17 11:00:00.000
341 04/26/2010  2010    4   2010-03-17 11:00:00.000
342 05/03/2010  2010    5   2010-03-17 11:01:00.000
343 05/10/2010  2010    5   2010-03-17 11:01:00.000
344 05/17/2010  2010    5   2010-03-17 11:01:00.000
345 05/24/2010  2010    5   2010-03-17 11:01:00.000
346 05/31/2010  2010    6   2010-03-17 11:03:00.000
347 06/07/2010  2010    6   2010-03-17 11:03:00.000
348 06/14/2010  2010    6   2010-03-17 11:03:00.000
349 06/21/2010  2010    6   2010-03-17 11:03:00.000
350 06/28/2010  2010    7   2010-03-17 11:03:00.000
351 07/05/2010  2010    7   2010-03-17 11:03:00.000
352 07/12/2010  2010    7   2010-03-17 11:03:00.000
353 07/19/2010  2010    7   2010-03-17 11:03:00.000
354 07/26/2010  2010    7   2010-03-17 11:03:00.000
355 08/02/2010  2010    8   2010-03-17 11:04:00.000
356 08/09/2010  2010    8   2010-03-17 11:04:00.000
357 08/16/2010  2010    8   2010-03-17 11:04:00.000
358 08/23/2010  2010    8   2010-03-17 11:04:00.000
359 08/30/2010  2010    9   2010-03-17 11:05:00.000
360 09/06/2010  2010    9   2010-03-17 11:05:00.000
361 09/13/2010  2010    9   2010-03-17 11:05:00.000
362 09/20/2010  2010    9   2010-03-17 11:05:00.000
363 09/27/2010  2010    10  2010-03-17 11:06:00.000
364 10/04/2010  2010    10  2010-03-17 11:06:00.000
365 10/11/2010  2010    10  2010-03-17 11:06:00.000
366 10/18/2010  2010    10  2010-03-17 11:06:00.000
367 10/25/2010  2010    10  2010-03-17 11:06:00.000
368 11/01/2010  2010    11  2010-03-17 11:09:00.000
369 11/08/2010  2010    11  2010-03-17 11:09:00.000
370 11/15/2010  2010    11  2010-03-17 11:09:00.000
371 11/22/2010  2010    11  2010-03-17 11:09:00.000
372 11/29/2010  2010    12  2010-03-17 11:10:00.000
373 12/06/2010  2010    12  2010-03-17 11:10:00.000
374 12/13/2010  2010    12  2010-03-17 11:10:00.000
375 12/20/2010  2010    12  2010-03-17 11:10:00.000
376 12/27/2010  2011    1   2010-03-17 11:11:00.000
377 01/03/2011  2011    1   2010-03-17 11:11:00.000
378 01/10/2011  2011    1   2010-03-17 11:11:00.000
379 01/17/2011  2011    1   2010-03-17 11:11:00.000
380 01/24/2011  2011    1   2010-03-17 11:11:00.000
381 01/31/2011  2011    2   NULL
382 02/07/2011  2011    2   NULL
383 02/14/2011  2011    2   NULL
384 02/21/2011  2011    2   NULL
441 02/28/2011  2011    3   NULL
442 03/07/2011  2011    3   NULL
443 03/14/2011  2011    3   NULL
444 03/21/2011  2011    3   NULL
451 03/28/2011  2011    4   NULL
452 04/04/2011  2011    4   NULL
453 04/11/2011  2011    4   NULL
454 04/18/2011  2011    4   NULL
455 04/25/2011  2011    4   NULL
456 05/02/2011  2011    5   NULL
457 05/09/2011  2011    5   NULL
458 05/16/2011  2011    5   NULL
459 05/23/2011  2011    5   NULL
460 05/30/2011  2011    6   NULL
461 06/06/2011  2011    6   NULL
462 06/13/2011  2011    6   NULL
463 06/20/2011  2011    6   NULL
464 06/27/2011  2011    7   NULL
465 07/04/2011  2011    7   NULL
466 07/11/2011  2011    7   NULL
467 07/18/2011  2011    7   NULL
468 07/25/2011  2011    7   NULL
469 08/01/2011  2011    8   NULL
470 08/08/2011  2011    8   NULL
471 08/15/2011  2011    8   NULL
472 08/22/2011  2011    8   NULL
473 08/29/2011  2011    9   NULL
474 09/05/2011  2011    9   NULL
475 09/12/2011  2011    9   NULL
476 09/19/2011  2011    9   NULL
477 09/26/2011  2011    10  NULL
478 10/03/2011  2011    10  NULL
479 10/10/2011  2011    10  NULL
480 10/17/2011  2011    10  NULL
481 10/24/2011  2011    10  NULL
482 10/31/2011  2011    11  NULL
483 11/07/2011  2011    11  NULL
484 11/14/2011  2011    11  NULL
485 11/21/2011  2011    11  NULL
486 11/28/2011  2011    12  NULL
487 12/05/2011  2011    12  NULL
488 12/12/2011  2011    12  NULL
489 12/19/2011  2011    12  NULL
491 12/26/2011  2012    1   NULL
492 01/02/2012  2012    1   NULL
493 01/09/2012  2012    1   NULL
494 01/16/2012  2012    1   NULL
495 01/23/2012  2012    1   NULL
496 01/30/2012  2012    2   NULL
497 02/06/2012  2012    2   NULL
498 02/13/2012  2012    2   NULL
499 02/20/2012  2012    2   NULL
500 02/27/2012  2012    3   NULL
501 03/05/2012  2012    3   NULL
502 03/12/2012  2012    3   NULL
503 03/19/2012  2012    3   NULL
504 03/26/2012  2012    4   NULL
505 04/02/2012  2012    4   NULL
506 04/09/2012  2012    4   NULL
507 04/16/2012  2012    4   NULL
508 04/23/2012  2012    4   NULL
509 04/30/2012  2012    5   NULL
510 05/07/2012  2012    5   NULL
511 05/14/2012  2012    5   NULL
512 05/21/2012  2012    5   NULL
513 05/28/2012  2012    6   NULL
514 06/04/2012  2012    6   NULL
515 06/11/2012  2012    6   NULL
516 06/18/2012  2012    6   NULL
517 06/25/2012  2012    7   NULL
518 07/02/2012  2012    7   NULL
519 07/09/2012  2012    7   NULL
520 07/16/2012  2012    7   NULL
521 07/23/2012  2012    7   NULL
522 07/30/2012  2012    8   NULL
523 08/06/2012  2012    8   NULL
524 08/13/2012  2012    8   NULL
525 08/20/2012  2012    8   NULL
526 08/27/2012  2012    9   NULL
527 09/03/2012  2012    9   NULL
528 09/10/2012  2012    9   NULL
529 09/17/2012  2012    9   NULL
530 09/24/2012  2012    10  NULL
531 10/01/2012  2012    10  NULL
532 10/08/2012  2012    10  NULL
533 10/15/2012  2012    10  NULL
534 10/22/2012  2012    10  NULL
535 10/29/2012  2012    11  NULL
536 11/05/2012  2012    11  NULL
537 11/12/2012  2012    11  NULL
538 11/19/2012  2012    11  NULL
539 11/26/2012  2012    12  NULL
540 12/03/2012  2012    12  NULL
541 12/10/2012  2012    12  NULL
542 12/17/2012  2012    12  NULL
543 12/24/2012  2013    1   NULL
544 12/31/2012  2013    1   NULL
545 01/07/2013  2013    1   NULL
546 01/14/2013  2013    1   NULL
547 01/21/2013  2013    1   NULL
548 01/28/2012  2013    1   NULL

我写了一个查询来像这样将 6 天添加到 week_startdate

select week_id,week_startdate,convert(varchar,dateadd(day,6,week_startdate),101) as week_enddate from dbo.TBL_S3_FISCALWEEKS_1

查询的结果是

week_id week_startdate  week_enddate
252 10/26/2008  11/01/2008
253 11/02/2008  11/08/2008
254 11/09/2008  11/15/2008
255 11/16/2008  11/22/2008
256 11/23/2008  11/29/2008
257 11/30/2008  12/06/2008
258 12/07/2008  12/13/2008
259 12/14/2008  12/20/2008
260 12/21/2008  12/27/2008
266 2/1/2009    02/07/2009
267 02/08/2009  02/14/2009
268 02/15/2009  02/21/2009
269 02/22/2009  02/28/2009
270 3/1/2009    03/07/2009
271 03/08/2009  03/14/2009
272 03/15/2009  03/21/2009
273 03/22/2009  03/28/2009
274 3/29/2009   04/04/2009
275 04/05/2009  04/11/2009
276 04/12/2009  04/18/2009
277 04/19/2009  04/25/2009
278 04/26/2009  05/02/2009
279 5/3/2009    05/09/2009
280 05/10/2009  05/16/2009
281 05/17/2009  05/23/2009
282 05/24/2009  05/30/2009
283 5/31/2009   06/06/2009
284 06/07/2009  06/13/2009
285 06/14/2009  06/20/2009
286 06/21/2009  06/27/2009
287 6/28/2009   07/04/2009
288 07/05/2009  07/11/2009
289 07/12/2009  07/18/2009
290 07/19/2009  07/25/2009
291 07/26/2009  08/01/2009
297 12/28/2008  01/03/2009
298 01/04/2009  01/10/2009
299 01/11/2009  01/17/2009
300 01/18/2009  01/24/2009
301 01/25/2009  01/31/2009
302 8/2/2009    08/08/2009
303 08/09/2009  08/15/2009
304 08/16/2009  08/22/2009
305 08/23/2009  08/29/2009
306 8/30/2009   09/05/2009
307 09/06/2009  09/12/2009
308 09/13/2009  09/19/2009
309 09/20/2009  09/26/2009
310 9/27/2009   10/03/2009
311 10/04/2009  10/10/2009
312 10/11/2009  10/17/2009
313 10/18/2009  10/24/2009
314 10/25/2009  10/31/2009
315 11/1/2009   11/07/2009
316 11/08/2009  11/14/2009
317 11/15/2009  11/21/2009
318 11/22/2009  11/28/2009
319 11/29/2009  12/05/2009
320 12/06/2009  12/12/2009
321 12/13/2009  12/19/2009
322 12/20/2009  12/26/2009
323 12/28/2009  01/03/2010
324 01/04/2010  01/10/2010
325 01/11/2010  01/17/2010
326 01/18/2010  01/24/2010
327 01/25/2010  01/31/2010
329 02/01/2010  02/07/2010
330 02/08/2010  02/14/2010
331 02/15/2010  02/21/2010
332 02/22/2010  02/28/2010
333 03/01/2010  03/07/2010
334 03/08/2010  03/14/2010
335 03/15/2010  03/21/2010
336 03/22/2010  03/28/2010
337 03/29/2010  04/04/2010
338 04/05/2010  04/11/2010
339 04/12/2010  04/18/2010
340 04/19/2010  04/25/2010
341 04/26/2010  05/02/2010
342 05/03/2010  05/09/2010
343 05/10/2010  05/16/2010
344 05/17/2010  05/23/2010
345 05/24/2010  05/30/2010
346 05/31/2010  06/06/2010
347 06/07/2010  06/13/2010
348 06/14/2010  06/20/2010
349 06/21/2010  06/27/2010
350 06/28/2010  07/04/2010
351 07/05/2010  07/11/2010
352 07/12/2010  07/18/2010
353 07/19/2010  07/25/2010
354 07/26/2010  08/01/2010
355 08/02/2010  08/08/2010
356 08/09/2010  08/15/2010
357 08/16/2010  08/22/2010
358 08/23/2010  08/29/2010
359 08/30/2010  09/05/2010
360 09/06/2010  09/12/2010
361 09/13/2010  09/19/2010
362 09/20/2010  09/26/2010
363 09/27/2010  10/03/2010
364 10/04/2010  10/10/2010
365 10/11/2010  10/17/2010
366 10/18/2010  10/24/2010
367 10/25/2010  10/31/2010
368 11/01/2010  11/07/2010
369 11/08/2010  11/14/2010
370 11/15/2010  11/21/2010
371 11/22/2010  11/28/2010
372 11/29/2010  12/05/2010
373 12/06/2010  12/12/2010
374 12/13/2010  12/19/2010
375 12/20/2010  12/26/2010
376 12/27/2010  01/02/2011
377 01/03/2011  01/09/2011
378 01/10/2011  01/16/2011
379 01/17/2011  01/23/2011
380 01/24/2011  01/30/2011
381 01/31/2011  02/06/2011
382 02/07/2011  02/13/2011
383 02/14/2011  02/20/2011
384 02/21/2011  02/27/2011
441 02/28/2011  03/06/2011
442 03/07/2011  03/13/2011
443 03/14/2011  03/20/2011
444 03/21/2011  03/27/2011
451 03/28/2011  04/03/2011
452 04/04/2011  04/10/2011
453 04/11/2011  04/17/2011
454 04/18/2011  04/24/2011
455 04/25/2011  05/01/2011
456 05/02/2011  05/08/2011
457 05/09/2011  05/15/2011
458 05/16/2011  05/22/2011
459 05/23/2011  05/29/2011
460 05/30/2011  06/05/2011
461 06/06/2011  06/12/2011
462 06/13/2011  06/19/2011
463 06/20/2011  06/26/2011
464 06/27/2011  07/03/2011
465 07/04/2011  07/10/2011
466 07/11/2011  07/17/2011
467 07/18/2011  07/24/2011
468 07/25/2011  07/31/2011
469 08/01/2011  08/07/2011
470 08/08/2011  08/14/2011
471 08/15/2011  08/21/2011
472 08/22/2011  08/28/2011
473 08/29/2011  09/04/2011
474 09/05/2011  09/11/2011
475 09/12/2011  09/18/2011
476 09/19/2011  09/25/2011
477 09/26/2011  10/02/2011
478 10/03/2011  10/09/2011
479 10/10/2011  10/16/2011
480 10/17/2011  10/23/2011
481 10/24/2011  10/30/2011
482 10/31/2011  11/06/2011
483 11/07/2011  11/13/2011
484 11/14/2011  11/20/2011
485 11/21/2011  11/27/2011
486 11/28/2011  12/04/2011
487 12/05/2011  12/11/2011
488 12/12/2011  12/18/2011
489 12/19/2011  12/25/2011
491 12/26/2011  01/01/2012
492 01/02/2012  01/08/2012
493 01/09/2012  01/15/2012
494 01/16/2012  01/22/2012
495 01/23/2012  01/29/2012
496 01/30/2012  02/05/2012
497 02/06/2012  02/12/2012
498 02/13/2012  02/19/2012
499 02/20/2012  02/26/2012
500 02/27/2012  03/04/2012
501 03/05/2012  03/11/2012
502 03/12/2012  03/18/2012
503 03/19/2012  03/25/2012
504 03/26/2012  04/01/2012
505 04/02/2012  04/08/2012
506 04/09/2012  04/15/2012
507 04/16/2012  04/22/2012
508 04/23/2012  04/29/2012
509 04/30/2012  05/06/2012
510 05/07/2012  05/13/2012
511 05/14/2012  05/20/2012
512 05/21/2012  05/27/2012
513 05/28/2012  06/03/2012
514 06/04/2012  06/10/2012
515 06/11/2012  06/17/2012
516 06/18/2012  06/24/2012
517 06/25/2012  07/01/2012
518 07/02/2012  07/08/2012
519 07/09/2012  07/15/2012
520 07/16/2012  07/22/2012
521 07/23/2012  07/29/2012
522 07/30/2012  08/05/2012
523 08/06/2012  08/12/2012
524 08/13/2012  08/19/2012
525 08/20/2012  08/26/2012
526 08/27/2012  09/02/2012
527 09/03/2012  09/09/2012
528 09/10/2012  09/16/2012
529 09/17/2012  09/23/2012
530 09/24/2012  09/30/2012
531 10/01/2012  10/07/2012
532 10/08/2012  10/14/2012
533 10/15/2012  10/21/2012
534 10/22/2012  10/28/2012
535 10/29/2012  11/04/2012
536 11/05/2012  11/11/2012
537 11/12/2012  11/18/2012
538 11/19/2012  11/25/2012
539 11/26/2012  12/02/2012
540 12/03/2012  12/09/2012
541 12/10/2012  12/16/2012
542 12/17/2012  12/23/2012
543 12/24/2012  12/30/2012
544 12/31/2012  01/06/2013
545 01/07/2013  01/13/2013
546 01/14/2013  01/20/2013
547 01/21/2013  01/27/2013
548 01/28/2012  02/03/2012

我没有 week_enddate 列,我通过将 6 天添加到 week_startdate 来创建它。 要求是如果我在 week_startdate 和 week_enddate 之间传递日期作为输入参数,我必须得到 week_id

例如,如果我在 04/02/2012 到 04/08/2012 之间传递日期,我应该只得到那个 week_id

之间
04/02/2012,
04/03/2012,
04/04/2012,
04/05/2012,
04/06/2012,
04/07/2012,
04/08/2012

我必须像这样获得 week_id 505。该表没有我在 select 语句中通过添加 6 天创建的 week_enddate 但我应该只传递 startdate 并且我应该在两个日期之间获得 week_id

帮帮我

【问题讨论】:

你前几天不是问过这个问题吗? ***.com/questions/10089108/… 【参考方案1】:

尝试以下查询

select week_id
from dbo.TBL_S3_FISCALWEEKS_1
where @yourdate between week_startdate and convert(varchar,dateadd(day,6,week_startdate),101)

【讨论】:

以上是关于在 sql server 2008 中的两个日期之间获取 Id的主要内容,如果未能解决你的问题,请参考以下文章

SQL sever 2008 如何根据一个表中的两个时间计算出时间差

在sql server2008中的日期类型是啥

Sql Server 2008 计算两个日期之间的夜晚,但删除第 31 晚

如何仅从 sql server 2008 中的日期中提取年份?

sql server 中两个日期之间的年份以及每个日期在 sql server 中的开始和结束日期

3 - SQL Server 2008 之 使用SQL语句删除约束条件