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

比如我输入2010-7-12的话
保存下来的结果会是2010-7-12 0:00:00
如何使它只显示2010-7-12?
字段这里要怎么设置?
那如果我不是要select时让他只显示日期
而是放在where条件里比如下面这个意思的
select * from XXX where [date] = 2010-7-12
这样子的,具体应该怎么写?

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])
这两种都可以
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-10
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函数进行转换。
第2个回答  2010-08-09
用datetime一定会出现你这种结果的。
第一是把类型改了,就是楼上说的,我就不说了。
第二就是在显示这个时间的地方做一下字符串的截取就可以了,有方法可以直接截取的的。
第3个回答  2010-08-09
显示的时候处理一下
Convert.ToDateTime(row["Date"]).ToString("yyy-MM-dd");本回答被提问者采纳
第4个回答  2018-06-13
数据库里datetime的数据类型改为date就可以了

sql中如何使datetime类型的数据只显示日期?
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])这两种都可以 ...

如何样让datetime类型的数据只有年月日
如果是想在gridview等中显示如:yyyy-MM-dd的时间形式,可如下:string sql1 = "SELECT 公告编号,公告名称,convert(char(20),发布时间,111) as 发布时间,convert(char(20),生效时间,111) as 生效时间,convert(char(20),过期时间,111) as 过期时间,发布人 FROM Announce ";

sql中 日期时间格式,怎样才能让字段只显示日期或只显示时间啊
Oracle:select trunc(sysdate) value from dual select to_char(sysdate,'yyyy-mm-dd') value from dual 10.求时间 SQL SERVER:select convert(char(8),getdate(),108) value OracleO:select to_char(sysdate,'hh24:mm:ss') value from dual 你不是光想在查询分析器里显示吧。你就把这个查询...

sql2005中能不能把datetime里的时分秒去掉,只保留年月日
一般是在检索的时候,使用convert来格式时间的显示格式。如: select CONVERT(VARCHAR(10),GETDATE(),102),显示结果即:年月日。convert函数语法:CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值...

SqlServer中DateTime类型怎样把输出的秒去掉,只取出年月日和几点几分...
SQL convert 用法 CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.例子:SELECT CONVERT(varchar(30),getdate(),101) now 结果为:now --- |09\/15\/2001 ...

数据库中datetime字段,我想只提取年月日,而不显示后面的具体时间
select goods, ea, CONVERT(varchar(12),starttime,20) as startdt, CONVERT(varchar(12),starttime,20) as enddt from tablename;

sql datatime数据类型如何设置 在表中只显示年份
datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒 Microsoft SQL Server 用两个 4 字节的整数内部存储 datetime 数据类型的值。第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753...

SQL2000, 怎样将将datetime类型的数据去掉毫秒再存储
[datetime]);插入数据:1 insert into test values (1,getdate());如果查询时去掉就很简单,用如下语句:1 select ID,CONVERT(varchar(10),starttime,120)as starttime from test;结果截图:如果新建一个字段只保存日期,可用如下方法:给表新加一个字段且默认值为当前系统时间的年月日。1 alter t...

sql server 2008如何只显示日期
date 只 占用 三个字节,那有空间显示 时分秒哦!你存储的是datetime类型!看你的表定义吧!或是你的程序用的datetime 类型进行输出,这个用字符串转化函数输出就可以了。

SQL Server——如何指定日期格式
1、打开sql server的管理工具,点击新建查询,如下图所示。2、然后输入select getdate(),如下图所示。3、结果会显示年月日时分秒的格式,如下图所示。4、然后执行convert函数,将起转换为121格式,如下图所示。5、接着就可以看到结果只显示了日期部分,如下图所示。6、最后经常使用的话可以抽成函数...

相似回答