当前位置:主页>仓库管理软件> 列表

SQL语句格式化日期输出问题 找win7管理软件

销售管理软件版1楼: 如何用SQL语句取得日期值中的月份,并格式化为两位字符串输出呢,如:2006-2-9,输出值为''02'',向高手请教?

2楼: 取月份: datepart(month,YouDate) 或 month(YouDate)
再给你一个格式化整型的函数
create function fn_formatint(@ii int,@digit tinyint)
returns varchar(10)
as
begin
declare @str varchar(10)
set @str=convert(varchar,@ii)
if len(@str)<@digit set @str=replicate(''0'',@digit-len(@str))+@str
return @str
end 如win7管理软件

3楼: 存储过程实现的取系统时间
/***********************************************
得到系统时间
作者:顾江南
日期:2005.12.8
***********************************************/
CREATE PROCEDURE pGetsystime
@systime varchar(50) output --返回的系统时间

AS
begin

declare @xtime datetime
declare @year varchar(4)
declare @month varchar(2)
declare @day varchar(2)
declare @hour varchar(2)


declare @minute varchar(2)
declare @second varchar(2)
set @xtime = getdate()
set @year =cast(year(@xtime) as varchar(4))
set @month = cast(month(@xtime) as varchar(2))
set @day = cast(day(@xtime) as varchar(2))
set @hour = cast({fn hour(@xtime)} as varchar(2))
set @minute = cast({fn minute(@xtime)} as varchar(2))
set @second = cast({fn second(@xtime)} as varchar(2))
if len(@month) < 2
begin
set @month = ''0''+@month
end
if len(@day) < 2
begin
set @day = ''0''+@day
end
if len(@hour) <2
begin
set @hour = ''0''+@hour
end
if len(@minute) <2
begin
set @minute =''0''+@minute
end
if len(@second) < 2
begin
set @second = ''0''+@second
end
set @systime =@year+''-''+@month+''-''+@day+'' ''+@hour+'':''+@minute+'':''+@second

end
GO

4楼: SELECT RIGHT((''0''+CONVERT(VARCHAR,DATEPART(month, ''2006-2-09''))),2)

5楼: 使用 convert 这个函数转换成一定的格式,具体可以查帮助。
再使用substring取出你的月份就可以了
或者象下面也可以:
case when len(cast(month(date) as varchar(2)) < 2 then ''0'' + cast(month(date) as varchar(2)) else cast(month(date) as varchar(2)) end

6楼: 思想就是
1提取月份
2转换为字符串
3添加一个‘0’前缀
4取得右边两位字符

销售管理软件版7楼: 有没有日期格式化出来时只显示年和月,并格式化成字符串,如:2006-2-9,格式化后输出为‘200602’,谢谢各位!

8楼: 修改一下就可以了:
case when len(cast(month(date) as varchar(2)) < 2 then cast(year(date) as varchar(4)) + ''0'' + cast(month(date) as varchar(2)) else cast(year(date) as varchar(4)) + cast(month(date) as varchar(2)) end

9楼: 多人接受答案了。

10楼: SELECT CONVERT(VARCHAR,DATEPART(year, ''2006-2-09''))+RIGHT((''0''+CONVERT(VARCHAR,DATEPART(month, ''2006-2-09''))),2)

11楼: 格式化字符串