1 34 package smallsql.database; 35 36 37 40 final class ExpressionFunctionDifference extends ExpressionFunctionReturnInt { 41 42 43 final int getFunction() { 44 return SQLTokenizer.DIFFERENCE; 45 } 46 47 48 boolean isNull() throws Exception { 49 return param1.isNull() || param2.isNull(); 50 } 51 52 53 final int getInt() throws Exception { 54 if(isNull()) return 0; 55 String str1 = ExpressionFunctionSoundex.getString(param1.getString()); 56 String str2 = ExpressionFunctionSoundex.getString(param2.getString()); 57 int diff = 0; 58 for(int i=0; i<4; i++){ 59 if(str1.charAt(i) == str2.charAt(i)){ 60 diff++; 61 } 62 } 63 return diff; 64 } 65 } 66 | Popular Tags |