日期:2014-05-16  浏览次数:20713 次

急 !!sql server 2008 R2怎么才能设定只获取年月部分并且按照yyyymm的格式显示.

select billno,billdate from spyPartsWareOutM

FSPO140121001         20140121
FSPO140121002  20140121
FSPO140121003         20140121
FSPO140121004         20140121
FSPO140122001    20140122
FSPO140122002  20140122
FSPO140122003  20140122

查出来的 billdate 是 intdate 类型,我想要查billdate 类型 是年月类型的 也就是 201401 ! 在线求解,。 
------解决方案--------------------
select billno,substring(convert(char(08),billdate),1,6) from spyPartsWareOutM

------解决方案--------------------
select billno,substring(convert(char(08),billdate),1,120) from spyPartsWareOutM

引用:
Quote: 引用:

Quote: 引用:

select billno,convert(varchar(6),billdate,112) from spyPartsWareOutM


这样查询出来后,如果还要在月份前加个横杠可以吗 2014-01

不好意思 回复错楼了。你这样查询出来那列的结果是 * 星号。




if object_id('[spyPartsWareOutM]') is not null drop table [spyPartsWareOutM]
create table [spyPartsWareOutM] (billno varchar(13),billdate int)
insert into [spyPartsWareOutM]
select 'FSPO140121001','20140121' union all
select 'FSPO140121002','20140121' union all
select 'FSPO140121003','20140121' union all
select 'FSPO140121004','20140121' union all
select 'FSPO140122001','20140122' union all
select 'FSPO140122002','20140122' union all
select 'FSPO140122003','20140122'

select * from [spyPartsWareOutM]


select billno,convert(varchar(7),CONVERT(DATETIME,CONVERT(VARCHAR,billdate)),120) AS billdate from spyPartsWareOutM

/*
billno billdate
FSPO140121001 2014-01
FSPO140121002 2014-01
FSPO140121003 2014-01
FSPO140121004 2014-01
FSPO140122001 2014-01
FSPO140122002 2014-01
FSPO140122003 2014-01*/