开发者社区> 问答> 正文

SQL Server表为特定数据类型占用太多空间

SQL Server表为特定数据类型占用太多空间

展开
收起
贺贺_ 2019-12-02 20:09:47 383 0
1 条回答
写回答
取消 提交回答
  • 我个人将通过几个步骤进行此操作。您已经在此处标记了sql-server-2008和sql-server-2012,但是我假设您没有使用完全不受支持的软件:

    --Add a column to replicate bad data
    ALTER TABLE dbo.YourTable ADD OldID nvarchar(1200);
    GO
    --Put bad data in the new column
    UPDATE dbo.YourTable
    SET OldID = ItemID1
    WHERE TRY_CONVERT(int, ItemID1) IS NULL;
    GO
    --Get rid of bad data in the ID column
    UPDATE dbo.YourTable
    SET ItemID1 = TRY_CONVERT(int, ItemID1);
    GO
    ALTER TABLE dbo.YourTable ALTER COLUMN ItemID1 int;
    GO
    --Review bad data
    SELECT OldID
    FROM dbo.YourTable
    WHERE OldID IS NOT NULL;
    GO
    --Once reviewed, and action taken, drop the bad column.
    ALTER TABLE dbo.YourTable DROP COLUMN OldID;
    
    2019-12-02 20:10:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载