Visit_Date="2012-02-13 15:01:36.000"
从上面的数据库中获取日期,我的标签日期是这种格式
label1.text="13-Feb-2012"
我必须使用这样的查询将标签日期与数据库日期映射
Select * From User_Master Where date='"+label1.text+"';
我如何使用代码获取此记录?
Visit_Date="2012-02-13 15:01:36.000"
从上面的数据库中获取日期,我的标签日期是这种格式
label1.text="13-Feb-2012"
我必须使用这样的查询将标签日期与数据库日期映射
Select * From User_Master Where date='"+label1.text+"';
我如何使用代码获取此记录?
试试这个:
Select * From User_Master
Where replace(Convert(varchar,Visit_Date,106),' ','-')='"+label1.text+"';
见 sql fiddle演示
首先,它不会匹配,因为您的访问日期是 2 月 13 日,而您的标签日期是 8 月 13 日,如果这是正在比较的记录的话。
其次,SQL 对日期类型进行隐式转换,并传递有效的日期文本将允许您成功比较日期(参考)。您唯一需要注意的是您的日期时间在哪里,并且您只想比较日期。所以是这样的:
Select * From User_Master Where Convert(varchar(10),visit_date,101) ="+label1.text+"';
-- 这对你有用
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/