0
Visit_Date="2012-02-13 15:01:36.000"

从上面的数据库中获取日期,我的标签日期是这种格式

label1.text="13-Feb-2012"

我必须使用这样的查询将标签日期与数据库日期映射

Select * From User_Master Where date='"+label1.text+"';

我如何使用代码获取此记录?

4

3 回答 3

1

试试这个:

Select * From User_Master
Where replace(Convert(varchar,Visit_Date,106),' ','-')='"+label1.text+"';

见 sql fiddle演示

于 2012-08-13T11:06:57.283 回答
1

首先,它不会匹配,因为您的访问日期是 2 月 13 日,而您的标签日期是 8 月 13 日,如果这是正在比较的记录的话。

其次,SQL 对日期类型进行隐式转换,并传递有效的日期文本将允许您成功比较日期(参考)。您唯一需要注意的是您的日期时间在哪里,并且您只想比较日期。所以是这样的:

Select * From User_Master Where Convert(varchar(10),visit_date,101) ="+label1.text+"';
于 2012-08-13T11:14:59.600 回答
0

-- 这对你有用

 Select * From User_Master Where Convert(varchar,date,106) ='"+label1.text+"';

-- 以下格式为您提供所需的输出

 SELECT convert(datetime, '23 OCT 2016', 106) -- dd mon yyyy

 select convert(varchar, getdate(), 106) -- output 13 August 2012

请参阅以下链接以查看更多格式 http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx

很好的链接 http://www.sqlusa.com/bestpractices/datetimeconversion/

于 2012-08-13T11:03:20.007 回答