sql - 将 ntext 转换为数字
问题描述
我的专栏之一被定义为ntext
许多流不再支持的数据类型。我正在尽力将该列转换为数字或整数,并且每次尝试都可以到达任何地方。
reg_no #my ntext field | name | country | etc |
我尝试使用我们都使用的命令更改 col,但失败了
alter table tabl1
alter column [reg_no] numeric(38,0)
错误:
将数据类型 nvarchar 转换为数值时出错
有关解决此问题的任何建议或过去是否有人遇到过此问题,如果是,您是如何克服的
解决方案
您应该能够分两步执行此操作:
alter table tabl1 alter column [reg_no] nvarchar(max);
alter table tabl1 alter column [reg_no] numeric(38,0);
ntext
已弃用numeric
且不支持转换为,但支持转换为nvarchar()
。
这假设这些值与 兼容numeric
。否则你会得到一个类型转换错误。如果发生这种情况,您可以使用以下方法获取违规值:
select *
from t
where try_convert(numeric(38, 0), try_convert(nvarchar(max), x)) is null
推荐阅读
- c# - C# 中 DDD 枚举的 swagger 文档和 swag 客户端代码
- python - 如何通过函数传递矩阵?
- sanity - Sanity.io CMS – 编写模式类型
- android - Flutter 地点选择器应用程序在运行时崩溃(Android)
- docker - 到端口 54663(bamboo tcp 端口)的连接问题
- python - Jetson Nano UART 将损坏的字符 CH340G UART 传输到串行
- php - SQLite3 选择 * 从表排序
- javascript - 单击链接时如何关闭菜单?
- jquery - 无法使用 laravel 获取多个动态行的值
- java - 如何编写正则表达式来查找 .txt 文件中的所有电话号码?