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

गणितीय अभिव्यक्ति निष्पादित करें और मान को SQL में चर पर सेट करें

पैरामीट्रिज्ड क्वेरी का उपयोग sp_executesql . के साथ करें प्रक्रिया:

DECLARE @val1 VARCHAR(20)= '500';
DECLARE @val2 VARCHAR(20)= '300';
DECLARE @Oper VARCHAR(20)= '>';

DECLARE @query NVARCHAR(MAX);

DECLARE @Flag INT= 0;

SET @query = 'if ' + @val1 + @Oper + @val2 + ' set @Flag=1';

DECLARE @ParamDefs NVARCHAR(MAX) = N'@Flag int output'

EXEC sp_executesql @query, @ParamDefs, @Flag OUTPUT

PRINT @Flag;

कुछ गलतियों को भी सुधारा:

  1. declare @val1 varchar=100; डिफ़ॉल्ट आकार होगा 1 और @val1 * . के साथ इनिशियलाइज़ किया गया है नहीं 100 . देखें क्यों कास्ट/कन्वर्ट फ्रॉम इंट रिटर्न ए तारांकन विवरण के लिए।
  2. आपको int में डालने की जरूरत नहीं है गतिशील क्वेरी के अंदर।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बड़े SQLCommand VB.Net को निष्पादित करते समय प्रगति पट्टी कैसे प्रदर्शित करें?

  2. एसक्यूएल में संख्या को शब्दों में कनवर्ट करना

  3. एक्सेस 2016 में एक्सेस डेटाबेस को SQL सर्वर से कैसे लिंक करें

  4. इन MySQL डेटाबेस मॉनिटरिंग बेस्ट प्रैक्टिस को आज़माएं

  5. मैं किसी तालिका में केवल नवीनतम प्रविष्टि का चयन कैसे करूं?