update Expression DateTime ToString tests

This commit is contained in:
28810
2020-05-24 04:15:10 +08:00
parent 00ce7d93ce
commit e20f5324a0
9 changed files with 83 additions and 41 deletions

View File

@ -388,9 +388,11 @@ namespace FreeSql.Odbc.SqlServer
case "'yyyy'": return $"substring(convert(char(8), {left}, 112), 1, 4)";
case "'HH:mm:ss'": return $"convert(char(8), {left}, 24)";
}
var isMatched = false;
var nchar = args1.StartsWith("N'") ? "N" : "";
return Regex.Replace(args1, "(yyyy|yy|MM|M|dd|d|HH|H|hh|h|mm|m|ss|s|tt|t)", m =>
args1 = Regex.Replace(args1, "(yyyy|yy|MM|M|dd|d|HH|H|hh|h|mm|m|ss|s|tt|t)", m =>
{
isMatched = true;
switch (m.Groups[1].Value)
{
case "yyyy": return $"' + substring(convert(char(8), {left}, 112), 1, 4) + {nchar}'";
@ -416,6 +418,7 @@ namespace FreeSql.Odbc.SqlServer
}
return m.Groups[0].Value;
});
return isMatched == false ? args1 : $"({args1})";
}
}
return null;