1 34 package smallsql.database; 35 36 37 40 public class ExpressionFunctionLocate extends ExpressionFunctionReturnInt { 41 42 43 int getFunction() { 44 return SQLTokenizer.LOCATE; 45 } 46 47 48 boolean isNull() throws Exception { 49 return param1.isNull() || param2.isNull(); 50 } 51 52 53 int getInt() throws Exception { 54 String suchstr = param1.getString(); 55 String value = param2.getString(); 56 if(suchstr == null || value == null || suchstr.length() == 0 || value.length() == 0) return 0; 57 int start = 0; 58 if(param3 != null){ 59 start = param3.getInt()-1; 60 } 61 62 return value.toUpperCase().indexOf( suchstr.toUpperCase(), start ) +1; 64 } 65 } 66 | Popular Tags |