首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换大小大于8000的所有varchar列声明

替换大小大于8000的所有varchar列声明
EN

Stack Overflow用户
提问于 2012-10-30 05:52:28
回答 1查看 297关注 0票数 1

我有一个来自MySQL的sql转储文件,我用它来创建SQL Server (2005)表。

我需要将大于varchar(8000)的列声明更改为varchar( max )。

我正在使用Visual Basic脚本解析转储文件并进行这些更改。它只是将整个文件看作一个字符串。我只想在数字大于8000的情况下更改,但我不知道如何更改。有没有办法检查声明中的数字并对其进行更改?我创建了一个正则表达式来查找声明中的数字。但我不知道该怎么说:

对于所有匹配varchar(int>8000)的字符串,更改为varchar(max)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 06:04:03

匹配大于(或等于)8000的数字的正则表达式:/^([89]\d{3}|\d{5,})$/

其中,/是正则表达式的分隔符,后跟start (^),后跟((...|...)) 8或9和3个数字([89]\d{3})或5个或更多数字(\d{5,}),最后是字符串结尾($)和正则表达式分隔符(/)。

要在您的上下文中使用,像这样的东西应该可以做到…

代码语言:javascript
运行
复制
/varchar\(\s*([89]\d{3}|\d{5,})\s*\)/

这包含转义大括号\(...\)、可选空格\s*和关键字varchar

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13130205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档