datetime类型字段如何用0占位? 我用convert(nvarchar(10),getdate(),20)取到今天日期为'2012-03-18',但将它存入datatime类型的字段后,变成了'2012-3-18',占位的0被去掉了,请问如何能将这个占位的0也存储到该字段中呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 datatime类型时间就是时间类型在表里是什么样子不重要,你用的时候,想要什么格式的用convert处理一下就可以了。 convert 是在select 后面得到数据的时候处理。不是用在insert后面,因为是表字段是时间字段,你存储后还是会变成时间类型。如果不是datetime类型,而是varchar类型的字段,插入的时候,可以convert 后插入,这样格式就不乱变了。 控制面板区域语言更改日期时间格式段日期:yyyy-MM-dd重启 保存在数据库中的格式不需要管,查询显示时,使用convert(varchar(10),时间字段,120)即可. select replace(convert(nvarchar(10),getdate(),20),'-0','-')/*2012-3-18*/ 字段是日期类型不会出现楼主的情况,缺少0SQL2008直接用date类型declare @dt date= getdate()select @dt/*2012-03-18*/ 把系统日期设置成:yyyy-MM-dd然后再用convert(nvarchar(10),getdate(),20) 数据库图书ABC 怎么用sql语句把数据库中的二进制数据密码修改了 安装SQL2000时问题 急~ 基于SQL数据库中某一表进行修改,开发小工具,请指点思路! sqlserver indexing server win7 windows2003 Server下为何不能安装SQL Server2000服务器版? 看这问题? 怎么样查询几个表中的数据,再生成一个表? 请教Transact-SQL语法问题!在线等待! 问一个数据移植的问题 求助如何用SQL语句将表一、表二合并为表三? 如何解决拼接“SQL字符串”的烦恼
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处理一下就可以了。
区域语言
更改日期时间格式
段日期:yyyy-MM-dd
重启
/*
2012-3-18
*/
字段是日期类型不会出现楼主的情况,缺少0
SQL2008直接用date类型
declare @dt date= getdate()
select @dt
/*
2012-03-18
*/
然后再用convert(nvarchar(10),getdate(),20)