我有个表A,里面有个列B。
列B的格式是Varchar(16),存放的是日期,日期格式都是 (YY-MM-DD),比如2011年11月11日,存的格式为(11-Nov-11)。
查询的传参值C的格式是(2011-11-31),就是(YYYY-MM-DD)。
我想对这列的时间范围进行查询,也就是 列B的日期要小于值C的结果。
请问写这个语句呢??
------解决方案--------------------
- SQL code
set language us_englishselect convert(datetime,'11-Nov-11',120)set language 简体中文/*-----------------------2011-11-11 00:00:00.000(1 行受影响)*/
------解决方案--------------------
- SQL code
set language us_englishselect * from tb where convert(datetime,'11-Nov-11',120)>'2011-11-30'set language 简体中文
------解决方案--------------------
正确的是这样的:
- SQL code
表如下: CREATE TABLE [dbo].[Table1] ( [uid] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL , [udate] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL )------------------数据如下:uid udate1 11-Nov-112 12-Nov-113 30-Nov-114 01-Dec-115 05-Dec-11-------------------查询语句如下:select * from Table1where convert(datetime,udate,120)>'2011-11-30'-------------------查询结果如下:4 01-Dec-115 05-Dec-11