SQL Server float转varchar时FORMAT函数参数类型无效原因问询
报错原因解析
你用到的SQL语句如下:
SELECT FORMAT(((LTRIM(RTRIM(STR(floatField,2))))), '00')
报错的核心原因是FORMAT函数的入参类型不匹配:
- 主流支持
FORMAT函数的数据库(如SQL Server)中,该函数的第一个参数仅允许传入数值类型或日期时间类型,字符串类型属于非法入参。 - 你语句的内层逻辑
STR(floatField,2)已经将float类型的字段转换为了字符串格式,后续LTRIM、RTRIM仅做空格修剪,输出结果仍然是字符串类型。将这个字符串作为第一个参数传入FORMAT时,自然触发参数1数据类型无效的报错。
内容的提问来源于stack exchange,提问作者marko
相关产品推荐
相关产品推荐

