简单SQL问题,datepart取日期问题 select datepart(MM,getdate())如:getdate()=2008-08-16 09:23:47.880得到结果为08,而不是8,如何可以做到呢,求助 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select datepart(MM,'2008-08-16 09:23:47.880') --结果明明是8啊`` select datename(MM,'2008-08-16 09:23:47.880') 这样才是08datepart会将结果转换成整型,所以会自动去掉前面的0,而datename不会。 --TRYselect month('2008-08-16 09:23:47.880 ') 取日期部分函数返回值是数值类型,所以如果月份小于10的话,只返回1位数字,如果想得到无论哪个月份都是2位的形式,可以考虑用类型转换,方法如下select right('0' + cast(datepart(MM,getdate()) as varchar),2)这样出来的结果是字符类型的,在使用的时候要注意点. --'08'只能当成字符型数据,不能做为整型数据,可以试试下面的SELECT SUBSTRING(CONVERT(NCHAR(10),GETDATE(),120),6,2)--datepart 取出来的是整型数据,但是不符合你的要求。--datename 在不同语言的SQL上出来的结果是不一样的,除非你自己设定语言,例如在繁体上出来的是'八月'。 大家帮给看一下这个语句怎么改 在那里可下载到 MS-SQL Server 2005 developer 版? 数据表中显示统计信息 ■■■ 求一个关于 百分比 的数据统计。即解即结... ■■■ 哈希问题 急!!!未能创建 'Microsoft.Jet.OLEDB.4.0' 的实例 请教一个sql难题!! 100求解:怎么把查询到的一个结果用竖的形式显示出来? 如何用存储过程实现?online 如何将Mssql中的数据库表导出为一个文本文件? 如何准确找到关系模型中的主键和外键 求一个简单的,我想了好久也没整明白
select datepart(MM,'2008-08-16 09:23:47.880')
--结果明明是8啊``
这样才是08datepart会将结果转换成整型,所以会自动去掉前面的0,而datename不会。
select month('2008-08-16 09:23:47.880 ')
select right('0' + cast(datepart(MM,getdate()) as varchar),2)
这样出来的结果是字符类型的,在使用的时候要注意点.
SELECT SUBSTRING(CONVERT(NCHAR(10),GETDATE(),120),6,2)--datepart 取出来的是整型数据,但是不符合你的要求。
--datename 在不同语言的SQL上出来的结果是不一样的,除非你自己设定语言,例如在繁体上出来的是'八月'。