sql - 尝试将列数据类型 NVARCHAR 转换为 INT 时出现错误
问题描述
尝试将列数据类型 NAVCHAR 转换为 INT 接收错误。下面的简单代码:
SELECT [phone], FORMAT(CAST(PHONE AS int),'(000)-000-0000)')
FROM Sales.Customers
解决方案
您的查询应该是这样的:
SELECT [phone], FORMAT(CAST(REPLACE([phone],'-','')AS INT), '(000)-000-0000)')
FROM Sales.Customers
因此,如果要转换为无效字符(对于这种情况,破折号是要替换的字符),它将用空白替换它,然后将其格式化为您想要的格式。
例如:'030-3456789' 这将变为 (030)-345-6789
推荐阅读
- javascript - 每个使用 ajax 附加 div 的窗口调整大小事件,都会以某种方式创建一个额外的不需要的 ajax 调用
- flutter - 我在 path_provider invokeMethod 中遇到错误
("getApplicationDocumentsDirectory") - python-3.x - 如何从另一个文件夹导入脚本?
- c# - “使用 Parallel.For 进行并行排序无法正常工作”
- spring - SpringBoot 2.1.4.RELEASE 中的 Spring Data JPA 不删除
- python - 如何创建一个真正简单的 json 服务器?
- python - 从个人中抓取数据会生成提供者列表
- node.js - 奇怪的 Node.js 性能
- amazon-dynamodb - 有没有办法将表数据从 DynamoDB 同步到 Redshift?
- ios - 在 Swift 语言中有什么方法可以将编译的类发布到已发布的程序中?