web-dev-qa-db-ja.com

SELECTクエリで特定の日付形式( 'dd-MMM-yyyy')を取得する方法SQL Server 2008 R2

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)が見つかりませんでした。誰でも私を助けてくれますか?

12

これを試して:

Declare @dt NVARCHAR(20)

Select 
    @dt = REPLACE(CONVERT(CHAR(15), SalesDate, 106),' ',' - ') 
FROM SalesTable
28
Abhishek Jain
select CONVERT(NVARCHAR, SYSDATETIME(), 106) AS [DD-MON-YYYY]

または

select REPLACE(CONVERT(NVARCHAR,GETDATE(), 106), ' ', '-')

両方ともうまくいく

8
abcd123

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

6
Brett

これが最善の方法だと思います。

_REPLACE(CONVERT(NVARCHAR,CAST(WeekEnding AS DATETIME), 106), ' ', '-')
_

将来問題になる可能性のあるvarchar(11)またはvarchar(10)を使用する必要がないためです。

4
Manish
select convert(varchar(11), transfer_date, 106)

2018年3月7日としてフォーマットされた日付の私の希望の結果を得ました

私の列transfer_dateは日時型の列であり、AzureでSQL Server 2017を使用しています

1
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
1
Deepak Keynes