我的数据类型Geography数据库中有一列我要转换为varchar。
我正在使用以下查询来执行此操作...
- 1:Microsoft.SqlServer.Types.dll问题。
ALTER TABLE RetailerStore ALTER COLUMN Location VARCHAR(50)
但是,我收到错误消息
Msg 257,Level 16,State 3,Line 1
不允许从数据类型地理到varchar的隐式转换。使用CONVERT函数运行此查询。
有没有人遇到这个问题,如果有的话,他们知道解决问题的方法吗?
答案 0 :(得分:1)
没有隐式转换。列中是否有数据?如果是这样,请在尝试更改列类型之前将其全部设置为NULL。或者,您可以删除并重新创建列。
请注意,从地理位置到文本表单的显式转换 - 您可以使用STAsText将空间类型转换为文本表示形式。
使用ALTER TABLE来DROP和ADD:
ALTER TABLE RetailerStore DROP COLUMN Location;
ALTER TABLE RetailerStore ADD Location VARCHAR(50) NULL;
答案 1 :(得分:0)
首先从表中删除列:
ALTER TABLE RetailerStore DROP COLUMN Location;
然后使用所需的数据类型和范围再次添加该列,如下所示:
ALTER TABLE RetailerStore ADD Location VARCHAR(100) NULL;