对于子字符串函数的参数1,参数数据类型numeric无效

use*_*762 4 sql-server-2008

我用这段代码得到以下消息

case when substring(New_Limit,11,1)=' ' then '0'+substring(New_Limit,1,10)
Run Code Online (Sandbox Code Playgroud)

'then'位用于连接0和子串.有帮助吗?

Ger*_*old 7

这意味着您的New_Limit变量是一个数值.您可能希望CAST在其周围放置一个(n)varchar.


小智 6

您首先尝试将其强制转换为字符串类型(varchar):

SUBSTRING(CAST(New_Limit AS varchar(38)), 11, 1)
Run Code Online (Sandbox Code Playgroud)