簡體   English   中英

將 ntext 轉換為數字

[英]Convert ntext to numeric

我的專欄之一被定義為許多流不再支持的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

嘗試,

select convert(int,convcert(varchar(40), reg_no)) as newfieldname from tabl1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM