我正在为往返日期创建一个参数。记录中的某些日期丢失,这意味着存在空值。当我的参数在两个值之间搜索时,它避免了那些日期为空的结果,但我也想获得这些记录。
示例代码为
AND TO_DATE(PLLA.PROMISED_DATE)
BETWEEN NVL (to_char(to_date(substr(:PROMISED_DATE_FROM, 1, 20), 'YYYY/MM/DD'), 'DD-MON-YY'), TO_DATE(PLLA.PROMISED_DATE))
AND NVL (to_char(to_date(substr(:PROMISED_DATE_to, 1, 20), 'YYYY/MM/DD'), 'DD-MON-YY'), TO_DATE(PLLA.PROMISED_DATE))
答案 0 :(得分:0)
也将nvl条件添加到PLLA.PROMISED_DATE ...并尝试您的代码...
答案 1 :(得分:0)
如果要包括PLLA.PROMISED_DATE为null的记录,则只需在WHERE子句中包括该条件:
import produce from 'immer';
import storage from 'redux-persist/lib/storage';
import { persistReducer } from 'redux-persist';
import {
LOGIN_REQUEST,
LOGIN_SUCCESS,
LOGIN_FAILURE,
} from './authentication.constant';
const initialState = Object.freeze({
isLoginInProgress: false,
loginData: {},
loginError: {},
});
const persistConfig = {
key: 'auth',
storage,
blacklist: ['loginError'],
};
function AuthReducer(state = initialState, action) {
return produce(state, (draft) => {
switch (action.type) {
case LOGIN_REQUEST: {
draft.isLoginInProgress = true;
draft.loginData = {};
draft.loginError = {};
break;
}
case LOGIN_SUCCESS: {
draft.isLoginInProgress = false;
draft.loginData = action.payload;
draft.loginError = {};
break;
}
case LOGIN_FAILURE: {
draft.isLoginInProgress = false;
draft.loginData = {};
draft.loginError = action.payload;
break;
}
default: {
break;
}
}
return draft;
});
}
export default persistReducer(persistConfig, AuthReducer);
您发布的示例代码确实很难理解。 const appReducer = combineReducers({
auth,
});
和AND ( PLLA.PROMISED_DATE is null or
TO_DATE(PLLA.PROMISED_DATE) BETWEEN NVL (to_char(to_date(substr(:PROMISED_DATE_FROM,1,20),'YYYY/MM/DD'),'DD-MON-YY'),TO_DATE(PLLA.PROMISED_DATE))
and NVL (to_char(to_date(substr(:PROMISED_DATE_to,1,20),'YYYY/MM/DD'),'DD-MON-YY'),TO_DATE(PLLA.PROMISED_DATE))
)
的切换始终是一个危险信号。最好将:PROMISED_DATE_FROM和:PROMISED_DATE_TO作为实际日期传递。但是,如果将它们作为字符串传递,那么to_char()
的需求是什么?并且,如果传递的参数确实包含多余的字符,为什么子字符串不长10个字符,即您在to_date()
中使用的日期掩码的长度?
此外,为什么在将substr()
应用于PLLA.PROMISED_DATE时又将参数翻转回字符串?如果该列不是日期数据类型,但至少需要确保您在to_date()
运算符的两边都比较相同的数据类型,这将是很糟糕的表现。