create function fn_testnum(@m money) returns varchar(20) as begin declare @s varchar(20),@r varchar(20) set @s=reverse(ltrim(ceiling(cast(@m as dec(28,4))))) while len(@s)>0 select @r=isnull(@r+',','')+left(@s,3), @s=stuff(@s,1,3,'') return reverse(@r) end go
declare @m money set @m=12345.67 select dbo.fn_testnum(@m) /* -------------------- 12,346
(1 行受影响) */ set @m=1234566545.67 select dbo.fn_testnum(@m) /* -------------------- 1,234,566,546
运行后报错误如下: 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 '数学 + 4where 姓名='王静'' 中。 ......