更改asp中的日期格式

时间:2012-12-18 06:31:42

标签: sql-server-2008 asp-classic

在尝试各种处理方式之后,我无法在动态sql语句中正确获取日期格式。我需要一些日期格式的帮助。

我有一个发布日期字段,它存储在sql db中作为yyyy-mm-dd格式..它在asp网页中显示为mm-dd-yyyy..i需要在dd-中显示日期mm-yyyy格式..有没有办法做到这一点?

这是我的SQL查询:

SELECT CR.Name AS country,C.Name,C.[Name 2],C.[E-Mail],[Pre-Assigned No_], [Posting Date], SIH.[Currency Code], SIH.[Shipment Method Code],[Total Boxes],[ARE Net Wt],[ARE Gr_Wt], SIH.[Shipping Agent Code], SIH.[Payment Terms Code] FROM [Sales Invoice Header] SIH 
INNER JOIN [Country_Region] CR ON CR.Code = SIH.[Country of Final Destination] 
INNER JOIN [Customer] C ON C.No_ = SIH.[Sell-to Customer No_] WHERE SIH.No_ = 'PEXP1213-540'

2 个答案:

答案 0 :(得分:2)

无需替换直接使用 106 105 并获得所需的格式
SELECT convert(varchar, getdate(), 106) - dd mon yyyy

所以你的查询看起来像

select  CR.Name as country,C.Name,C.[Name 2],C.[E-Mail],[Pre-Assigned No_], 
convert(varchar,[Posting Date], 106) AS [Posting Date], SIH.[Currency Code], SIH.[Shipment Method Code],
[Total Boxes],[ARE Net Wt],[ARE Gr_Wt], SIH.[Shipping Agent Code], SIH.[Payment Terms Code] from [Sales Invoice Header] SIH 
inner join [Country_Region] CR On CR.Code = SIH.[Country of Final Destination] 
inner join [Customer] C on C.No_ = SIH.[Sell-to Customer No_] where SIH.No_ = 'PEXP1213-540'

也可以在codeBehind上执行:

DateTime time = DateTime.Now;             // Use current time
string format = "dd mm yyyy";            // Use this format
Console.WriteLine(time.ToString(format));

答案 1 :(得分:0)

请尝试使用此查询

select  CR.Name as country,C.Name,C.[Name 2],C.[E-Mail],[Pre-Assigned No_], 
replace(convert(varchar(12),[Posting Date], 103), '/','-') AS [Posting Date], SIH.[Currency Code], SIH.[Shipment Method Code],
[Total Boxes],[ARE Net Wt],[ARE Gr_Wt], SIH.[Shipping Agent Code], SIH.[Payment Terms Code] from [Sales Invoice Header] SIH 
inner join [Country_Region] CR On CR.Code = SIH.[Country of Final Destination] 
inner join [Customer] C on C.No_ = SIH.[Sell-to Customer No_] where SIH.No_ = 'PEXP1213-540'

注意:此处[发布日期]列为字符串,因此只需显示。