SQL 在视图中将 nvarchar 转换为数字时出错

SQL error convert nvarchar to numeric in a view

我有以下table。 totalsales 当前的列类型是 (nvarchar(max), null)。要求是在 SQL 视图中将此列类型更改为数值。

我尝试执行以下操作:

CAST([totalsales] AS numeric) AS [totalsales]

在我 运行 对视图进行查询后,此语句不起作用。有什么建议么?非常感谢!

好的!让我们试试这个:

alter table <table_name> modify <column_name datatype>;
  • 例如: • 假设我们创建了一个 table 'SAMPLE',其中包含两列 'ID' 和 'NAME',每个列的数据类型均为 'VARCHAR'。(这是查询)

    创建 table 样本(id varchar(10), name varchar(20));

• 但后来我们喜欢其中的一个缺陷,即 'ID' 列的数据类型应为 'NUMBER'。

• 因此,我们通过将 table 更改为 ==>>

来纠正我们的错误
alter table sample modify id number;

当我们描述 table 时,现在我们有了这个; ID 列完美地携带数据类型 'NUMBER'

TABLE SAMPLE
Column  Null?   Type
ID       -      NUMBER
NAME     -      VARCHAR2(20)

comma(,)替换为空然后转换为numeric(假设这个列将始终只有数值)。

select id, totalsales as totalsales_nvarchar
 ,cast(replace(totalsales, ',','') as numeric) AS totalsales_numeric 
from tb1