当前位置: 代码迷 >> Sql Server >> 汉语日期转换成英文日期
  详细解决方案

汉语日期转换成英文日期

热度:35   发布时间:2016-04-24 09:27:24.0
中文日期转换成英文日期
有表SKD 字段 SKD_YWRQ 数据库存储的是 20150114 在查询的时候 想换成英文显示格式  Jan 14, 2015如果实现?
------解决思路----------------------

-- 没有现成的函数可以这样转换,12 个月要手工加工一下

create table x(d varchar(30)) 
go
insert into x(d) values( '20150114') ,('20150409'),('20150905')
go
select d , 
 case month(d) 
 when '01' then 'Jan' 
 when '02' then 'Feb'
 when '03' then 'Mar'
 when '04' then 'Apr'
 when '05' then 'May'
 when '06' then 'June'
 when '07' then 'July'
 when '08' then 'Aug'
 when '09' then 'Sept'
 when '10' then 'Oct'
 when '11' then 'Nov'
 when '12' then 'Dec'
 end + ' '+ cast(DAY(d) as varchar(10)) + ' , ' + cast(YEAR(d) as varchar(10))
 from x 


(3 行受影响)
d                              
------------------------------ ----------------------------
20150114                       Jan 14 , 2015
20150409                       Apr 9 , 2015
20150905                       Sept 5 , 2015

(3 行受影响)



------解决思路----------------------

set language 'english'
;WITH a1 (date) AS
(SELECT '20150114')
,a2 AS
(select convert(varchar(11),CAST(date AS datetime)) date FROM a1)
SELECT LEFT(date,6)+','+RIGHT(date,5) FROM a2

------解决思路----------------------
set language 'english';WITH a1 (date) AS(SELECT '20150114') ,a2 AS(select convert(varchar(11),CAST(date AS datetime)) date FROM a1) SELECT LEFT(date,6)+','+RIGHT(date,5) FROM a2
------解决思路----------------------
declare @i varchar(10)
set @i='20150115'
SET LANGUAGE 'us_english'
select convert(varchar(20),cast(@I AS DATETIME),107)
  相关解决方案