package art.servers.gost.access.utils;
|
|
import java.util.List;
|
|
|
public class SQL
|
{
|
|
|
|
public static String getWhereText(String field, String value)
|
{
|
if (value == null) return "";
|
if (value.trim().length() == 0) return "";
|
return " AND " + field + " = '" + value + "'";
|
}
|
|
|
|
|
public static String getWhereLike(String field, String value)
|
{
|
if (value == null) return "";
|
if (value.trim().length() == 0) return "";
|
|
String result = "(";
|
String[] tokens = value.split("\\s*,\\s*");
|
for (int i=0; i<tokens.length; i++)
|
{
|
String token = tokens[i];
|
result = result + "(" + field + " ILIKE '" + token + "')";
|
if (i < (tokens.length-1)) result = result + " OR ";
|
}
|
|
result = " AND " + result + ")";
|
return (result);
|
}
|
|
|
|
public static String getWhereNumberIn(String field, String value)
|
{
|
if (value == null) return "";
|
if (value.trim().length() == 0) return "";
|
|
String result = "(" + field + " IN (";
|
|
for (String token : value.split("\\s*,\\s*"))
|
{
|
result = result + token + ",";
|
}
|
|
result = " AND " + result + "))";
|
|
return replaceLast(result, ",", "");
|
}
|
|
|
|
|
|
public static String getWhereNumberIn(String field, List<Integer> numbers)
|
{
|
if (numbers == null) return "";
|
if (numbers.size() == 0) return "";
|
|
String result = "(" + field + " IN (";
|
|
for (Integer number : numbers)
|
{
|
result = result + number + ",";
|
}
|
|
result = " AND " + result + "))";
|
|
return replaceLast(result, ",", "");
|
}
|
|
|
|
|
|
|
|
public static String replaceLast(String input, String find, String replace)
|
{
|
int lastIndex = input.lastIndexOf(find);
|
if (lastIndex == -1) return input;
|
String beginString = input.substring(0, lastIndex);
|
String endString = input.substring(lastIndex + find.length());
|
return beginString + replace + endString;
|
}
|
|
}
|