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

एक चयन कथन में एक सीमित मूल्य के दाईं ओर वर्ण निकालें

इस प्रश्न का एक डेटाबेस विशिष्ट उत्तर है।

यदि SQL सर्वर का उपयोग कर रहे हैं:

SELECT column1
     , RIGHT(column2,CHARINDEX('-',REVERSE(column2))-1) as extracted
     , column3 
FROM myTable

आप एक CASE जोड़ सकते हैं कथन या उपयोग NULLIF() यदि हाइफ़न हमेशा मौजूद न हो:

SELECT column1
     , CASE WHEN column2 LIKE '%-%' THEN RIGHT(column2,CHARINDEX('-',REVERSE(column2))-1) 
           END as extracted
     , column3 
FROM myTable

या:

SELECT column1
     , RIGHT(column2,NULLIF(CHARINDEX('-',REVERSE(column2)),0)-1) as extracted
     , column3 
FROM myTable

यदि MySQL का उपयोग कर रहे हैं तो बस CHARINDEX() बदलें करने के लिए LOCATE() . मेरा मानना ​​है कि Oracle यह INSTR() है और पहले दो पैरामीटर स्विच किए गए हैं, पहले यह वह स्ट्रिंग है जिसमें आप खोज रहे हैं, फिर वह स्ट्रिंग जिसे आप खोज रहे हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EPPLUS के साथ सूची से एक्सेल में निर्यात करें

  2. SQL सर्वर 2008 से SQL सर्वर 2005

  3. अल्पविराम सीमांकित सूची के आधार पर SSRS परिणामों का चयन

  4. TSQL:ट्रिगर में ट्राइ-कैच ट्रांजैक्शन

  5. किसी दृश्य के अंतर्निहित कॉलम उसके परिणाम सेट के आधार पर प्राप्त करें