sql - 将 varchar 值“%”转换为数据类型 int SQL 时转换失败
问题描述
a.taxamount
介于0.0
and之间20.0
,我想将其显示为0.0%
or120.0%
但出现转换错误。
SELECT....
,(a.taxamount * 100) + '%' AS TaxAmount
解决方案
+
运算符用于加法和连接。如果您混合使用字符串和数字,则假定添加并尝试将字符串隐式转换为数字。
正如您在 SQL Server 2008 上一样,您应该varchar
在连接之前将数字转换为第一个。
CAST(a.taxamount * 100 AS VARCHAR(10)) + '%'
在更新的版本中,您可以使用CONCAT
隐式执行此操作的函数或使用FORMAT(a.taxamount, 'P1')
乘以 100 并附加百分比字符。
推荐阅读
- python-3.x - 如何顺利使用scrapy和tkinter?
- python - python的字节码中按位“或”如何变成“+=”
- ios - 在视图控制器之间传递数据
- javascript - Tree graph in HTML
- excel - 如何隐藏多个工作表?
- jsf - WELD-000072:声明钝化范围的 Bean 必须具有钝化能力
- flutter - 如何像这个例子一样为 SliverAppBar 内的小部件设置动画?
- laravel - 语法错误,意外 '}',期待 ')'
- java - 带有 Thymeleaf 的 Spring Boot CRUD 应用程序 - BindingResult 结果
- c++ - C ++在类构造函数中移动数据而不复制