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
我有以下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