CONVERT(data_type(length),expression,style)
関数を使用して、SELECTクエリの日付の形式を変更しています。
@dt nvarchar(20)を宣言します
Select @dt = Convert(nvarchar(20)、SalesDate、113)FROM SalesTable
必要な形式は 'dd-MMM-yyyy'(例:'05 -Jul-2013 ')ですが、この特定の形式に適したスタイル番号(例:113)が見つかりませんでした。誰でも私を助けてくれますか?
これを試して:
Declare @dt NVARCHAR(20)
Select
@dt = REPLACE(CONVERT(CHAR(15), SalesDate, 106),' ',' - ')
FROM SalesTable
select CONVERT(NVARCHAR, SYSDATETIME(), 106) AS [DD-MON-YYYY]
または
select REPLACE(CONVERT(NVARCHAR,GETDATE(), 106), ' ', '-')
両方ともうまくいく
DD-MMM-YYYYがデフォルトでサポートされているようには見えません(少なくともダッシュをセパレータとして使用)。ただし、AS句を使用すると、次のようなことができるはずです。
SELECT CONVERT(VARCHAR(11), SYSDATETIME(), 106) AS [DD-MON-YYYY]
こちらをご覧ください: http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx
これが最善の方法だと思います。
_REPLACE(CONVERT(NVARCHAR,CAST(WeekEnding AS DATETIME), 106), ' ', '-')
_
将来問題になる可能性のあるvarchar(11)
またはvarchar(10)
を使用する必要がないためです。
select convert(varchar(11), transfer_date, 106)
2018年3月7日としてフォーマットされた日付の私の希望の結果を得ました
私の列transfer_date
は日時型の列であり、AzureでSQL Server 2017を使用しています
SELECT Convert(varchar(10),CONVERT(date,'columnname',105),105) as "end";
OR
SELECT CONVERT(VARCHAR(10), CAST(event_enddate AS DATE), 105) AS [end];
特定の日付を「dd-mm-yyyy」の形式で返します
結果は次のようになります。
04-07-2016