שאילתת תאריכים ב SQL

kernel32

New member
שאילתת תאריכים ב SQL

שלום, יש לי באחד השדות באחת הטבלאות במסד הנתונים (אקסס), תאריך. אני רוצה לכתוב שאילתה שתשלוף את כל הרשומות מתאריך X עד תאריך Y. ( אם לדוגמא אני צריך גדול מ X אני כותב : myrecorset.open ``select * from tbl where date &``< x תודה!!
 

el-unico

New member
מענה

BETWEEN (T-SQL) Specifies an inclusive range to test. Syntax test_expression [NOT] BETWEEN begin_expression AND end_expression Arguments test_expression Is the expression to test for in the range as defined by begin_expression and end_expression. test_expression must be the same data type as both begin_expression and end_expression. NOT Specifies that the result of the predicate be negated. begin_expression Is any valid Microsoft® SQL Server™ expression. begin_expression must be the same data type as both test_expression and end_expression. end_expression Is any valid SQL Server expression. end_expression must be the same data type as both test_expression and begin_expression. AND Acts as a placeholder indicating that test_expression should be within the range indicated by begin_expression and end_expression. Result Types Boolean Result Value BETWEEN returns TRUE if the value of test_expression is greater than or equal to the value of begin_expression and less than or equal to the value of end_expression. NOT BETWEEN returns TRUE if the value of test_expression is less than the value of begin_expression or greater than the value of end_expression. Remarks To specify an exclusive range, use the greater-than and less-than operators (> and <). If any input to the BETWEEN or NOT BETWEEN predicate is NULL, the result is UNKNOWN. Examples A. Use BETWEEN This example returns all books with year-to-date sales between and including 4,095 through 12,000. Notice that books with sales of 4,095 are included in the results. If there were any books with sales of 12,000, they would also be included. USE pubs GO SELECT title_id, ytd_sales FROM titles WHERE ytd_sales BETWEEN 4095 AND 12000 GO Here is the result set: title_id ytd_sales -------- ----------- BU1032 4095 BU7832 4095 PC1035 8780 PC8888 4095 TC7777 4095 (5 row(s) affected) B. Use > and < instead of BETWEEN This example, which uses > and < operators, returns different results because these operators are not inclusive. USE pubs GO SELECT title_id, ytd_sales FROM titles WHERE ytd_sales > 4095 AND ytd_sales < 12000 GO Here is the result set: title_id ytd_sales -------- ----------- PC1035 8780 (1 row(s) affected) C. Use NOT BETWEEN This example finds all rows outside a specified range (4,095 through 12,000). USE pubs GO SELECT title_id, ytd_sales FROM titles WHERE ytd_sales NOT BETWEEN 4095 AND 12000 GO Here is the result set: title_id ytd_sales -------- ----------- BU1111 3876 BU2075 18722 MC2222 2032 MC3021 22246 PS1372 375 PS2091 2045 PS2106 111 PS3333 4072 PS7777 3336 TC3218 375 TC4203 15096 (11 row(s) affected) See Also < (Less Than) Operators (Logical Operators) > (Greater Than) SELECT (Subqueries) Expressions WHERE Functions (c) 1988-98 Microsoft Corporation. All Rights Reserved.
 

Tomy123

New member
גרסה מקוצרת

דוגמא: SELECT TheDate FROM MyTable WHERE (((MyTable.TheDate)<#1/1/03#) AND ((MyTable.TheDate)>#1/1/99#)) לפני תאריך צריך להוסיף # משני הקצוות הערה- אם תרצה: יש לך ב- COMPONENTS את CALENDER שם אתה יכול להגדיר טווח תאריכים רצוי- וזה אפילו נראה יותר יפה למשתמש- במקום להקיש תאריך ייפתח לך לוח שנה.
 
למעלה