发布网友 发布时间:2022-04-08 01:26
共2个回答
懂视网 时间:2022-04-08 05:47
* Sql脚本压缩类。 * 去掉sql语句中多余的空格,以减少sql脚本的文本长度 * * Author : goldli@163.com * DateTime : 2015/07/03 */ using System.Text.RegularExpressions; namespace Sp.Net.Tools { internal class SqlCompressor { public static string Compress(string source) { if (string.IsNullOrEmpty(source)) return "无数据"; //1.去掉所有注释; 行注释 与 块注释 source = LineComment(source); source = BlockComment(source); //2.压缩空格 source = MultipleSpace(source); //3.压缩标点符号 source = Punctuates(source); return source; } /// <summary> /// 去掉行注释 /// </summary> /// <param name="source"></param> /// <returns></returns> private static string LineComment(string source) { //去掉 "--" 开头的行 var x = Regex.Replace(source, "--.*", "", RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } private static string BlockComment(string source) { //去掉 "/* */" 的行 var x = Regex.Replace(source,@"/*.**/","",RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline); return x; } private static string MultipleSpace(string source) { var x = Regex.Replace(source,@"s{2,}"," ",RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } /// <summary> /// 空格在标点符号的两侧 /// </summary> /// <param name="source"></param> /// <returns></returns> private static string Punctuates(string source) { var x = Regex.Replace(source,@"s*([)(,;.:‘\""=+-*/><!|~^])s*","$1",RegexOptions.IgnoreCase | RegexOptions.Multiline); return x; } } }
[原]Sql脚本压缩类。
标签:
热心网友 时间:2022-04-08 02:55
你的邱大侠没来!我来掺合一下!
“如果一个文件直接压缩,sql备份出来一个,就成了两个文件,压缩bat就变成了压缩两个了”这话我实在是无法理解含义。
至于小时,那是因为需要进行补零,你虽然补零了,但却忽略了10点开始的时间了,因为你把十点以后的小时全部变成了单数,因为你只截取了个位数,而丢弃了十位数,导致你的时间永远在00-09之间。
所以小时补零,我们不能按照你的那个方式来补
set ymd=%date:~,10%