sql server 日期时间 存储时怎么能不让它显示毫秒,后面那3个000
如果用smalldatetime精确到分,就没有毫秒位了
或者你既想精确到秒又不想要毫秒,就只能用字符格式保存数据了
存储格式更改下即可。如下:
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")。
小贴士:
此处是一个如何使用不同的DATETIME2精度值来显示不同的时间格式的示例:
PRINT @T1;
PRINT @T2; DECLARE @T0 time(0) = '16:59:11.1234567';DECLARE @T1 time(1) = '16:59:11.1234567';DECLARE @T2 time(2) = '16:59:11.1234567';DECLARE @T3 time(3) = '16:59:11.1234567';DECLARE @T4 time(4) = '16:59:11.1234567';DECLARE @T5 time(5) = '16:59:11.1234567';DECLARE @T6 time(6) = '16:59:11.1234567';DECLARE @T7 time(7) = '16:59:11.1234567';PRINT @T0;
PRINT @T3;
PRINT @T4;
PRINT @T5;
PRINT @T6;
PRINT @T7;
当运行上述代码时将会得到如下结果:
16:59:11
16:59:11.1
16:59:11.12
16:59:11.123
16:59:11.1235
16:59:11.12346
16:59:11.123457
16:59:11.1234567
具体说下 代码?
比如你
insert into A(Id,ShiJian) values (1,convert(varchar(19),getdate(),120))
或者 insert into A values (1,@Dt)
SqlCommand cmd=new SqlCommand (" insert into A values (1,@Dt)",conn);
cmd.Parameters.Add("@Dt",SqlDbType.DateTime).Value=DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
SELECT CONVERT(VARCHAR(30),(SELECT DATEADD(MINUTE, -5, '2017-01-01 17:01')),120);
补充那个最佳答案的,第一个得到给定时间-5分钟的结果:2017-01-01 16:56:00.000
第二个把第一个结果放入,转换即可得到:2017-01-01 16:56:00。
同理换成你要的时间结果也可。
120改成121又可以保留到毫秒了