Sql 如何从日期时间类型中删除00:00:00.000?

Sql 如何从日期时间类型中删除00:00:00.000?,sql,sql-server,tsql,Sql,Sql Server,Tsql,如果我打印它: PRINT convert(date,GETDATE()) 输出: 2017-05-11 我正在使用当前日期的默认值创建一个表,我不希望它显示00:00:00.000 CREATE TABLE USER_ACCOUNTS ( cod_user int primary key, Date_ins datetime default convert(date,getdate()) not null, user_name varchar(20) not null ) 输出: 20

如果我打印它:

PRINT convert(date,GETDATE())
输出:

2017-05-11
我正在使用当前日期的默认值创建一个表,我不希望它显示00:00:00.000

 CREATE TABLE USER_ACCOUNTS
(
cod_user int primary key,
Date_ins datetime default convert(date,getdate()) not null,
user_name varchar(20) not null
)
输出:

2017-05-11 00:00:00.000

即使我通过编辑字段将其删除,它也会在保存后返回。

使用
date
类型而不是
datetime

CREATE TABLE USER_ACCOUNTS
(
cod_user int primary key,
Date_ins date default getdate() not null,
user_name varchar(20) not null
)

旁注,
user\u name
是SQL Server内置函数,您应该避免将其用作列名。

使用
Date
数据类型,而不是
Datetime

您还可以选择
mm/dd/yyyyy
等格式使用:

CREATE TABLE USER_ACCOUNTS
(
cod_user int primary key,
Date_ins date default getdate() not null,
user_name varchar(20) not null
)
SELECT CONVERT(VARCHAR(10),GETDATE(),101)
dd/mm/yyyy

SELECT CONVERT(VARCHAR(10),GETDATE(),103)

您的字段类型是
datetime
。这是一个
datetime
,所以不管你给不给它一个时间,都会有时间。如果您想要一个
日期
,则将字段类型设为
日期
。如果您不想“看到”您的
datetime
类型字段上的
00:00:00.000
,请在从表中选择时将其强制转换为日期。让我猜猜:您是用C#或其他通用语言从DB获取数据的吗?