首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

datetime类型字段怎么用0占位

2012-04-13 
datetime类型字段如何用0占位?我用convert(nvarchar(10),getdate(),20)取到今天日期为2012-03-18,但将它

datetime类型字段如何用0占位?
我用convert(nvarchar(10),getdate(),20)取到今天日期为'2012-03-18',但将它存入datatime类型的字段后,变成了'2012-3-18',占位的0被去掉了,请问如何能将这个占位的0也存储到该字段中呢?

[解决办法]

SQL code
select ltrim(YEAR(GETDATE()))+'-'+case when MONTH(GETDATE())<=9 then '0'+LTRIM(MONTH(GETDATE())) else ltrim(MONTH(GETDATE())) end+'-'+LTRIM(DAY(getdate()))(无列名)2012-03-18
[解决办法]
convert 是在select 后面得到数据的时候处理。

不是用在insert后面,因为是表字段是时间字段,你存储后还是会变成时间类型。

如果不是datetime类型,而是varchar类型的字段,插入的时候,可以convert 后插入,这样格式就不乱变了。
[解决办法]
探讨
我用convert(nvarchar(10),getdate(),20)取到今天日期为'2012-03-18',但将它存入datatime类型的字段后,变成了'2012-3-18',占位的0被去掉了,请问如何能将这个占位的0也存储到该字段中呢?

[解决办法]
SQL code
select replace(convert(nvarchar(10),getdate(),20),'-0','-')/*2012-3-18*/
[解决办法]
探讨
我用convert(nvarchar(10),getdate(),20)取到今天日期为'2012-03-18',但将它存入datatime类型的字段后,变成了'2012-3-18',占位的0被去掉了,请问如何能将这个占位的0也存储到该字段中呢?

[解决办法]
把系统日期设置成:yyyy-MM-dd
然后再用convert(nvarchar(10),getdate(),20)

热点排行