2017-02-06 5 views
0

以下のvarcharを現在の日付に変換するにはどうすればよいですか?特定の文字列(0716_F_Frndy)を日付(1-7月-2016)に変換します

1-july-2016 
1-november-2016 
1-april-2016 
1-jan-2017 
1-aug-2016 
1-dec-2015 

0716_F_Frndy, 
1116_F_Iniends, 
0416_F_Fuds, 
0117_F_NeYears, 
0816_F_Wiether, 
1215_F_Xmerral, 
1016_F_HapyFingers, 
0616_F_Ginglish, 
1216_F_Xmft, 
0116_F_Ners, 
1015_F_Hangers, 
0316_F_Sp, 
0216_F_Le, 
0916_F_Back, 
0516_F_Shar 

...

+0

ので、最初の2つの数字:から

月の最後の2つの数字は年ですか?文字はどういう意味ですか? –

答えて

0
Declare @YourTable table (Col varchar(50)) 
Insert Into @YourTable values 
('0716_F_Frndy'), 
('1116_F_Iniends'), 
('0416_F_Fuds'), 
('0117_F_NeYears'), 
('0816_F_Wiether'), 
('1215_F_Xmerral'), 
('1016_F_HapyFingers'), 
('0616_F_Ginglish'), 
('1216_F_Xmft'), 
('0116_F_Ners'), 
('1015_F_Hangers'), 
('0316_F_Sp'), 
('0216_F_Le'), 
('0916_F_Back'), 
('0516_F_Shar') 

Select Col 
     ,AsDate   = cast(Stuff(Left(col,4),3,0,'/01/') as date) 
     ,AsFormatted  = Format(cast(Stuff(Left(col,4),3,0,'/01/') as date),'d-MMMM-yyyy') 
     ,AsFormattedShort = Format(cast(Stuff(Left(col,4),3,0,'/01/') as date),'d-MMM-yyyy') 
From @YourTable 

戻り

Col     AsDate  AsFormatted   AsFormattedShort 
0716_F_Frndy  2016-07-01 1-July-2016   1-Jul-2016 
1116_F_Iniends  2016-11-01 1-November-2016  1-Nov-2016 
0416_F_Fuds   2016-04-01 1-April-2016  1-Apr-2016 
0117_F_NeYears  2017-01-01 1-January-2017  1-Jan-2017 
0816_F_Wiether  2016-08-01 1-August-2016  1-Aug-2016 
1215_F_Xmerral  2015-12-01 1-December-2015  1-Dec-2015 
1016_F_HapyFingers 2016-10-01 1-October-2016  1-Oct-2016 
0616_F_Ginglish  2016-06-01 1-June-2016   1-Jun-2016 
1216_F_Xmft   2016-12-01 1-December-2016  1-Dec-2016 
0116_F_Ners   2016-01-01 1-January-2016  1-Jan-2016 
1015_F_Hangers  2015-10-01 1-October-2015  1-Oct-2015 
0316_F_Sp   2016-03-01 1-March-2016  1-Mar-2016 
0216_F_Le   2016-02-01 1-February-2016  1-Feb-2016 
0916_F_Back   2016-09-01 1-September-2016 1-Sep-2016 
0516_F_Shar   2016-05-01 1-May-2016   1-May-2016 
関連する問題