2012-02-02 72 views
0

我有我的数据类型地理数据库中的列,我想转换为varchar。转换地理数据类型列到NVARCHAR

我使用下面的查询,以做到这一点...

- 1:问题与Microsoft.SqlServer.Types.dll。

ALTER TABLE RetailerStore ALTER COLUMN Location VARCHAR(50) 

但是,我得到错误信息

消息257,级别16,状态3,行1
隐式转换,从数据类型地理为varchar是不允许的。使用CONVERT函数来运行此查询。

有没有人遇到过这个问题,如果是的话,他们是否知道解决问题的方法?

回答

0

没有隐式转换。列中是否有数据?如果是这样,请在尝试更改列类型之前将它全部设置为NULL。或者,您可以删除并重新创建该列。

注意,有一个从地理到一个文本形式明确的转换 - 您可以使用STAsText的空间类型转换为文本表示。

使用ALTER TABLE向下降及补充:

ALTER TABLE RetailerStore DROP COLUMN Location; 
ALTER TABLE RetailerStore ADD Location VARCHAR(50) NULL; 
+0

嗨凯德,整列设置为null。 你能帮我详细介绍一下tsql语句来删除列,然后重新创建它。 感谢 – swade1987 2012-02-02 16:22:41

+0

@ swade1987也许所有的NULL不起作用,因为地理位置是一个CLR类型。我在回答中添加了DROP和ADD示例。 – 2012-02-02 16:29:26

+0

ADD并不需要COLUMN这个词,但其他一切都很好,欢呼的伙计。 – swade1987 2012-02-02 16:30:33

相关问题