namespace iMES.Bi.Data
{
public class SqlHelp
{
///
/// 将SQLserver的连接字符串语法转为Mysql的语法
///
///
///
public static string concat(string strConSQL)
{
string strReturn = strConSQL;
string strDbType = Appsettings.app("DBType");
if (strDbType == "0")
{
strReturn = "CONCAT(" + strReturn.Replace('+', ',') + ")";
}
return strReturn;
}
///
/// 解析日期格式
///
///
///
public static string TADate(string strWDColumCode, string strDbType, ref string strGroup)
{
string strFiledName = strWDColumCode.Split('_')[0];
string Format = strWDColumCode.Split('_')[1];
string strReturn = "";
if (strDbType == "MYSQL")
{
switch (Format)
{
case "YYYY":
strGroup = " DATE_FORMAT(" + strFiledName + ",'%Y') ";
strReturn = " DATE_FORMAT(" + strFiledName + ",'%Y') " + strWDColumCode;
break;
case "YYYYMM":
strGroup = " DATE_FORMAT(" + strFiledName + ",'%Y%m') ";
strReturn = " DATE_FORMAT(" + strFiledName + ",'%Y%m') " + strWDColumCode;
break;
case "YYYYMMDD":
strGroup = " DATE_FORMAT(" + strFiledName + ",'%Y%m%d') ";
strReturn = " DATE_FORMAT(" + strFiledName + ",'%Y%m%d') " + strWDColumCode;
break;
case "YYYYMMDDHH":
strGroup = " DATE_FORMAT(" + strFiledName + ",'%Y%m%d%h') ";
strReturn = " DATE_FORMAT(" + strFiledName + ",'%Y%m%d%h') " + strWDColumCode;
break;
}
}
if (strDbType == "SQLSERVER")
{
switch (Format)
{
case "YYYY":
strGroup = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),4) ";
strReturn = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),4) AS '" + strWDColumCode + "'";
break;
case "YYYYMM":
strGroup = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),6) ";
strReturn = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),6) AS '" + strWDColumCode + "'";
break;
case "YYYYMMDD":
strGroup = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),8) ";
strReturn = " LEFT(CONVERT(varchar(100)," + strFiledName + ",112),8) AS '" + strWDColumCode + "'";
break;
case "YYYYMMDDHH":
strGroup = " (LEFT(CONVERT(varchar(100)," + strFiledName + ",112),8)+RIGHT('00'+cast(DATEPART(hh," + strFiledName + ") as VARCHAR),2 ) ) ";
strReturn = " (LEFT(CONVERT(varchar(100)," + strFiledName + ",112),8)+RIGHT('00'+cast(DATEPART(hh," + strFiledName + ") as VARCHAR),2 ) ) AS '" + strWDColumCode + "'";
break;
}
}
return strReturn;
}
///
/// 处理链接字符串废弃
///
///
public static string concatold(params string[] objs)
{
string strReturn = "";
string strDbType = Appsettings.app("DBType");
if (strDbType == "0")
{
for (int i = 0; i < objs.Length; i++)
{
strReturn = strReturn + ",";
}
strReturn = " CONCAT(" + strReturn.TrimEnd(',') + " ) ";
}
if (strDbType == "1")
{
for (int i = 0; i < objs.Length; i++)
{
strReturn = objs[i].ToString() + "+";
}
strReturn.TrimEnd('+');
}
return strReturn;
}
}
}