Select *
From Tab_A
Where rq>='2002-04-16' and rq<'2002-04-17'

解决方案 »

  1.   

    用 like '2002-04-26%'怎样?
      

  2.   

    Select *
    From Tab_A
    Where Tab_A.rq like '2002-04-16'
      

  3.   

    使用 LIKE 的模式匹配
    当搜索 datetime 值时,推荐使用 LIKE,因为 datetime 项可能包含各种日期部分。例如,如果将值 19981231 9:20 插入到名为 arrival_time 的列中,则子句 WHERE arrival_time = 9:20 将无法找到 9:20 字符串的精确匹配,因为 SQL Server 将其转换为 1900 年 1 月 1 日上午 9:20。然而,子句 WHERE arrival_time LIKE '%9:20%' 将找到匹配。LIKE 支持 ASCII 模式匹配和 Unicode 模式匹配。当所有参数,包括 match_expression、pattern 和 escape_character(如果有)都是 ASCII 字符数据类型时,将执行 ASCII 模式匹配。如果其中任何参数属于 Unicode 数据类型,则所有参数将被转换为 Unicode 并执行 Unicode 模式匹配。当对 Unicode 数据(nchar 或 nvarchar 数据类型)使用 LIKE 时,尾随空格是有意义的。但是对于非 Unicode 数据,尾随空格没有意义。Unicode LIKE 与 SQL-92 标准兼容。ASCII LIKE 与 SQL Server 的早期版本兼容。下面的一系列示例显示 ASCII LIKE 模式匹配与 Unicode LIKE 模式匹配所返回的行之间的差异:-- ASCII pattern matching with char column
    CREATE TABLE t (col1 char(30))
    INSERT INTO t VALUES ('Robert King')
    SELECT * 
    FROM t 
    WHERE col1 LIKE '% King'   -- returns 1 row-- Unicode pattern matching with nchar column
    CREATE TABLE t (col1 nchar(30))
    INSERT INTO t VALUES ('Robert King')
    SELECT * 
    FROM t 
    WHERE col1 LIKE '% King'   -- no rows returned-- Unicode pattern matching with nchar column and RTRIM
    CREATE TABLE t (col1 nchar (30))
    INSERT INTO t VALUES ('Robert King')
    SELECT * 
    FROM t 
    WHERE RTRIM(col1) LIKE '% King'   -- returns 1 row说明  如果使用 LIKE 进行字符串比较,模式字符串中的所有字符都有意义,包括起始空格或尾随空格。
      

  4.   

    Select *
    From Tab_A
    Where Tab_A.rq like '2002-04-16%'
      

  5.   

    foolishchao(傻超)方法好,这样可以比较查询。
      

  6.   

    我试过了,foolishchao朋友的方法也不行,但根据他的方法改成
    Select *
    From Tab_A
    Where rq>= convert(datetime,'2002-04-16') and rq<convert(datetime,'2002-04-17')
    就行了,我不知为什么?不是说SQL SERVER会自动转换数据类型的吗?
    还有fanpingli朋友的方法也是过了,也不行。
    不过还是很谢谢你们!
      

  7.   

    Select *
    From Tab_A
    Where Tab_A.rq = '2002-04-16'
    难道不可以吗?就是两边加上单引号.
    我机器上的sql server删掉了,所以不能调试。