Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं MySQL में SELECT के दौरान कॉलम नाम के रूप में CONCAT का उपयोग कैसे कर सकता हूं?

खैर, मुझे यह स्वीकार करना होगा कि आप जो पूछ रहे हैं उसे समझने में मुझे कुछ समय लगा। तालिका 2 में 7 कॉलम s0 से s6 हैं और आप दिनांक से मेल खाने वाले कॉलम से मान प्राप्त करना चाहते हैं। हाँ?

तो, निश्चित रूप से

. का उपयोग करना
SELECT CURRENT_DATE(), s2

आपको s2 की सामग्री देता है, जबकि

SELECT CURRENT_DATE(), CONCAT('s',DAYOFWEEK(CURRENT_DATE())-1)

आपको 's2' देता है। नहीं तो यह भयानक होगा। क्या आप वाकई डीबीएमएस से एक मूल्य की गणना करने की उम्मीद कर रहे हैं और फिर जांच करें कि क्या वह मान कॉलम नाम से मेल खाता है या नहीं? फिर

select name, job from person;

ज्यादातर मामलों में व्यक्ति के नाम और नौकरी का चयन करेंगे लेकिन अय्यूब नाम के व्यक्ति के लिए आपको इसके बजाय दो बार नौकरी मिलेगी। आप देखते हैं कि यह वांछित नहीं हो सकता है, है ना?

तो इसके बजाय अपना एक्सप्रेशन परिणाम जांचें और उसके अनुसार कॉलम से पढ़ें:

insert into table_1 (datum, comment)
select 
  current_date(), 
  case dayofweek(current_date()) - 1 
    when 0 then s0
    when 1 then s1
    when 2 then s2
    when 3 then s3
    when 4 then s4
    when 5 then s5
    when 6 then s6
  end
from table_2 where id = 12345;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सभी पंक्तियों को पुनः प्राप्त करें लेकिन पहला रिकॉर्ड गायब है

  2. MySQL में COUNT(*) होने से हटाएं

  3. WAMP उपेक्षा my.ini

  4. PHP के साथ Amazon RDS से कनेक्ट करें

  5. MySQL और C :`[ईमेल संरक्षित]'| . का अपरिभाषित संदर्भ