在将一堆字段从VARCHAR(bignumber)切换到TEXT之前,我需要考虑什么?
除了性能之外,在远期的某个时候,TEXT将被弃用,除了看起来我需要删除并重新创建表以更改列的数据类型这一事实?
这是针对SQL 2000--我不能做VARCHAR(max)和VARCHAR(8000)不够大。
答案 0 :(得分:5)
不确定您是否只能改变列的数据类型:
ALTER TABLE dbo.YourTable
ALTER COLUMN YourColumn TEXT
这不起作用吗? (不确定这是否可以在2000年恢复.....)
至于需要记住的事项:如果你需要进行字符串操作,那么TEXT数据类型的使用起来要麻烦得多,因为大多数(如果不是全部)通常的字符串函数(如LEN,SUBSTRING等)都不起作用它。所以在T-SQL本身,它是使用TEXT列的主要PIA ....
但除此之外,你应该没事,我相信。
答案 1 :(得分:3)
至少:
回到SQL Server 6.5天,我将一些数据存储在几个varchar(255)列中,因为varchar(8000)只是在SQL Server 7中引入的。
答案 2 :(得分:1)
许多T-SQL字符串函数不能用于文本 - 它们只能用于char / varchar / nchar / nvarchar。
答案 3 :(得分:1)
您无法搜索字段,因为使用字符串操作函数,许多查询将无效。最好将场分成两个或更多。说真的,如果这是唯一的方法,因为升级到Express Server版本的SQL Server 2008可能比坚持使用SQL Server 2000更好,恕我直言。实际上,分割字段也会很糟糕。算了。我不会这样做,除非我的老板拒绝升级,然后我必须选择哪些字段为VARCHAR(MAX)以及哪些字段要拆分,哪些字段可能会以文字作为类型。