मैं दिनांक डेटा की तुलना करना चाहता हूं और फिर एक नया नाम असाइन करना चाहता हूं, यह मेरी क्वेरी है

SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE
CASE
WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level' 
FROM employees;

कुछ त्रुटि हुई है। मेरी समस्या क्या है?

SQL query: Documentation


SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE
CASE
WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level' 
FROM employees LIMIT 0, 25
MySQL said: Documentation

1064 - आपके SQL सिंटैक्स में त्रुटि है; लाइन 2 पर 'CASE WHEN HIRE_DATE

0
dip 19 फरवरी 2020, 13:33
यदि किराया_डेट एक दिनांक डेटाटाइप है तो दिनांक ('1987-08-31') में दिनांक फ़ंक्शन अनावश्यक है - MySQL एक अंतर्निहित रूपांतरण करेगा।
 – 
P.Salmon
19 फरवरी 2020, 13:51
एसओ में आपका स्वागत है। कृपया देखें: >जो मुझे एक बहुत ही सरल SQL क्वेरी लगती है, उसके लिए मुझे MCRE क्यों प्रदान करना चाहिए?
 – 
Strawberry
19 फरवरी 2020, 17:06

1 उत्तर

आप "HIRE_DATE" के बाद "," को याद कर रहे हैं। यानी आपकी क्वेरी इस तरह होनी चाहिए:

SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE,
CASE
  WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
  WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
  WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level' 
FROM employees;
1
Nikhil Gyan 19 फरवरी 2020, 13:38
लेकिन फिर यह एक और त्रुटि दिखाता है, अनुभव स्तर के पास अप्रत्याशित टोकन
 – 
dip
19 फरवरी 2020, 13:43
अपना UI रीफ़्रेश करें और पुन: प्रयास करें. आशा है कि इस मुद्दे का टोकन से कोई सरोकार नहीं है
 – 
Nikhil Gyan
19 फरवरी 2020, 13:47