2012-07-16 4 views
7
DECLARE @d DATETIME = '01/01/2011'; 
SELECT FORMAT (@d, 'd', 'en-US') AS US_Result; 

내가 SQL Server 2008 R2의 코드 위에 사용하고 SQL 서버에서 작동하지 않습니다하지만 오류가 발생한다 :FORMAT 기능은 2008 R2

'FORMAT' is not a recognized built-in function name.

가 어떻게 FORMAT 기능을 사용할 수 있습니까?

+0

tsql에서 변환 및 변환 기능이 있습니다. 포맷? –

+3

"[FORMAT'] (http://beyondrelational.com/modules/24/syndicated/500/posts/12110/sql-server-denali-format-string-function.aspx) 함수를 어떻게 사용할 수 있습니까?" 2012 년으로 업그레이드하십시오. 또는 이전 버전에 대해이 기능을 모방 한 자체 CLR 기능을 작성하십시오. –

+0

SQL Server에는 형식 기능이 없습니다. 하나의 데이터 유형을 다른 데이터 유형으로 변환하는 변환 및 변환 기능이 있습니다. convert 함수를 사용해야합니다. –

답변

7

FORMAT 기능은 2012 버전부터 사용 가능합니다. 이전 버전에서는 다음을 사용하십시오.

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

그러나 형식 지정은 프런트 엔드 응용 프로그램의 작업입니다.

+0

일반적으로 함수는 열 또는 변수 다음에 사용해야합니다. @ d.FORMAT ('d', 'en-US') – Pierre

+0

이 t-SQL SELECT POWER (FORMAT (2, 'G', 'en-us'), 0.5)를 TEST로 실행하려고합니다. 어떻게 SQL 2008에서 실행할 수 있습니까? – Haminteu

2

에 따르면 FORMAT Function (DAX), (SQL Server 2008 R2)의 FORMAT() 함수는 편집

... SQL 서버 2008 R2에 존재 : 지적, 위의 링크 만 DAX 관련이있다. 올바른 것 (FORMAT (Transact-SQL))은 T-SQL의 FORMAT이 SQL Server 2012에서만 사용할 수 있다는 것을 지정합니다.

+2

FWIW, the DAX) 부분은 Excel (SQL? 2008)을 비롯한 외부 데이터에 Excel을 더 잘 연결하는 도구 인 Excel 2010 (+?) 추가 기능인 PowerPivot에서만 사용할 수있는 데이터 분석 식의 일부입니다. – Pastymage