我数据库有这样一列2009-05-04 00:00:00.000,我只要显示2009-05-04,后面的都不显示,请问sql语句怎么写???
参考如下:
declare @str DATETIME
set @str = '2009-05-04 00:00:00.000'
select convert(varchar(10),@str,121)
---------------
好吧!那写一个完整的例子
DECLARE @tb TABLE(id INT IDENTITY(1,1),val datetime)
INSERT INTO @tb
SELECT '2009-05-04 00:00:00.000' UNION ALL
SELECT '2010-01-21 00:00:00.000' UNION ALL
SELECT '2008-03-15 00:00:00.000'
SELECT id,val=CONVERT(VARCHAR(10),val,121) FROM @tb
看看这样是否可以!
呵呵楼上速度啊,这是Sql的解决办法,如果是用C#程序的话,可以"2009-05-04 00:00:00.000".ToString("yyyy-MM-dd")以及时间对象直接返回短日期格式等方式来处理
可以给String 加一些常用的扩展方法,比如你的这个需求,以后就可以直接使用了。