9
DECLARE @d DATETIME = '01/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS US_Result;

SQL Server 2008 R2で上記のコードを使用していますが、エラーが発生しています。

「FORMAT」は、認識されている組み込み関数名ではありません。

関数はどのように使用できFORMATますか?

4

3 に答える 3

8

FORMAT機能はバージョン2012以降で使用できます。以前のバージョンでは、これを使用します。

DECLARE @d DATETIME = '01/01/2011'; 
SELECT replace(replace(' '+convert(varchar(10),@d,101),' 0',''),'/0','/')

ただし、フォーマットはフロントエンドアプリケーションの仕事です。

于 2012-07-16T07:01:15.233 に答える
8

あなたはこれを使うことができます:

    select convert(varchar(12) , @d , 3)

http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspxより標準的な日付形式をここで見つけることができます。

于 2012-07-16T07:26:33.997 に答える
2

FORMAT関数(DAX)、(SQL Server 2008 R2)によると、FORMAT()関数はSQL Server2008R2に存在します。

編集:指摘したように、上記のリンクはDAXにのみ関連しています。正しいもの(FORMAT(Transact-SQL))は、T-SQLでのFORMATがSQLServer2012以降でのみ使用可能であることを指定しています。

于 2013-05-23T09:39:08.630 に答える