sql中如何使datetime类型的数据只显示日期?

2024-12-14 19:56:30
推荐回答(5个)
回答1:

convert(varchar(30),字段,23)
查询的时候用的.
select convert(varchar(30),字段,23) from 表
显示的格式就是日期

查找的话
用 select * from 表 where [date] like '%2010-7-12%'
或者select * from 表 where charindex(convert(varchar(20),'2010-7-12'),[date])
这两种都可以

回答2:

datetime 和 smalldatetime区别

datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。

smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
所以改为smalldatetime仍满足不了需求,并将时间范围缩小了。

具体做法:
SELECT CONVERT(VARCHAR(10), GETDATE(), 121)

其中的GETDATE()表示当前时间,可根据需要修改;121的含义参见
http://www.w3school.com.cn/sql/func_convert.asp。

若放在where部分,如下
SELECT * FROM XXX WHERE CONVERT(VARCHAR(10), [date], 121) = '2010-7-12
'
这里最关键的是将一个时间通过CONVERT函数进行转换。

回答3:

用datetime一定会出现你这种结果的。
第一是把类型改了,就是楼上说的,我就不说了。
第二就是在显示这个时间的地方做一下字符串的截取就可以了,有方法可以直接截取的的。

回答4:

显示的时候处理一下
Convert.ToDateTime(row["Date"]).ToString("yyy-MM-dd");

回答5:

数据库里datetime的数据类型改为date就可以了