SQL FORMAT函数错误

web*_*ad3 4 sql t-sql sql-server

这个SQL:

select FORMAT(lNum,'##-###-##-###') 
from  [rpt].[myView] 
Run Code Online (Sandbox Code Playgroud)

产生以下错误:

参数数据类型varchar对于格式函数的参数1无效.

lNum 是一个 varchar(10)

运行SQL Server 2012

Vam*_*ala 6

varchar不支持作为第一个参数FORMAT.支持的唯一类型的数据类型是Date and TimeNumeric.

你可以做到

select FORMAT(cast(lNum as numeric),'##-###-##-###') from  [rpt].[myView]  
Run Code Online (Sandbox Code Playgroud)

来自levelonehuman的评论:文档

  • MSDN上的[FORMAT](https://msdn.microsoft.com/en-us/library/hh213505.aspx)没有重复答案 (4认同)