mssql 如何添加时分秒
1、date数据类型说明
date表示一个日期,不包含时间部分,可以表示的日期范围从0001-01-01 到9999-12-31,占用3个字节的存储空间。date数据类型默认的字符串文本格式为YYYY-MM-DD。
declare @date date
set @date='2017-11-27'
select @date 'date'
go

2、datetime数据类型说明
datetime包含日期和时间,可以表示的日期范围从1753-01-01 00:00:00到 9999-12-31 23:59:59.997,占用8个字节的存储空间。datetime数据类型默认的字符串文本格式为:YYYY-MM-DD HH:MM:SS[.nnn],其中n是一个 0 到 3 位的数字,范围为 0 到 999,表示毫秒。datetime可以精确到3.33毫秒。
declare @date smalldatetime
set @date='2017-12-31 20:01:01.123'
select @date 'date'
go

3、datetime2数据类型说明
datetime2包含日期和时间,可以表示的日期范围从1753-01-01 00:00:00到 9999-12-31 23:59:59.9999999,占用6~8个字节的存储空间。datetime2数据类型默认的字符串文本格式为:YYYY-MM-DD HH:MM:SS[.nnnnnnn],其中n是一个 0 到 3 位的数字,范围为 0 到 999,表示毫秒。datetime2可以精确到100纳秒。
declare @date smalldatetime
set @date='2017-12-31 20:01:01.1234567'
select @date 'date'
go

4、smalldatetime数据类型说明
smalldatetime数据类型包含日期和时间,可以表示的日期范围从1900-01-01 00:00:00到 2079-06-06 23:59:00,占用4个字节的存储空间。smalldatetime数据类型默认的字符串文本格式为:YYYY-MM-DD HH:MM:SS,其中ss 是表示秒钟的两位数字,范围为 00 到 59。 小于或等于 29.998 秒的值向下舍入为最接近的分钟数,大于或等于 29.999 秒的值向上舍入为最接近的分钟数。smalldatetime可以精确到1分钟。
declare @date smalldatetime
set @date='2017-12-31 20:01:01.123'
select @date 'date'
go

1、字段定义为datetime或datetime2
从上面日期数据类型介绍可以看出,只有datetime和datetime2包含时分秒的信息,所以可以将字段定义为datetime或dateime2就可以让数据包含时分秒了。
declare @date1 datetime,@date2 datetime
set @date1='2017-12-31 20:01:01.123'
set @date2=getdate()
select @date1,@date2
go

2、字段字义为varchar
可以将字段定义为varchar,将日期以字符串的方式保存。
declare @date1 datetime,@datestr VARCHAR(24)
set @date1='2017-12-31 20:01:01.123'
set @datestr=CONVERT(VARCHAR(24),@date1,120)
select @date1 date1, @datestr datestr
go

3、CONVERT 函数说明
CONVERT函数可以用不同的格式显示日期和时间数据。语法如下:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) :目标数据类型(带有可选的长度)。
data_to_be_converted: 需要转换的值。
style: 日期/时间的输出格式。
可以使用的 style 值如下图所示。
