में स्ट्रिंग के भीतर चर के स्थानापन्न सदस्य मैं एक PowerShell स्क्रिप्ट में निम्नलिखित स्ट्रिंग अभिव्यक्ति की है। हालांकि, $ {col.column_name} के लिए एक खाली स्ट्रिंग की आपूर्ति की जाती है। स्ट्रिंग प्रतिस्थापन के हिस्से के रूप में मैं एक चर के सदस्य में कैसे जा सकता हूं?Powershell
उत्तर
कैसे के बारे में:
"select count(*) cnt from $schema.$table where $($col.column_name) is null"
एक तरीका यह होगा:
"select count(*) cnt from $schema.$table where $($col.column_name) is null"
एक अन्य विकल्प
"select count(*) cnt from {0}.{1} where {2} is null" -f $schema, $table, $col.column_name
मुझे लगता है कि आपको हो रही समस्या मुख्य रूप से वाक्य रचना से संबंधित है किया जाएगा। यदि आपके पास $ foo नामक एक चर है, तो $ {foo} समान वैरिएबल का संदर्भ देता है। तो, आपके एसक्यूएल स्ट्रिंग में $ {table} और $ {schema} संदर्भ ठीक काम करते हैं।
समस्या $ {col.column_name} के साथ है। आपका वैरिएबल (मुझे लगता है) को $ col कहा जाता है, और इसमें स्तंभ_नाम नाम का सदस्य होता है। रॉबर्ट और स्टीवन दोनों अपने उत्तरों में इंगित करते हैं, इसका संदर्भ देने के लिए, आपको $ ($ col.column_name) का उपयोग करना चाहिए। आम तौर पर, अभिव्यक्ति के मूल्य के साथ $ (अभिव्यक्ति) प्रतिस्थापित किया जाएगा।
परिवर्तनीय नामों में ब्रेसिज़ को अनुमति देने का कारण यह है कि चर के नाम उनके नामों में असामान्य वर्ण हो सकते हैं। मैं $ {} वाक्यविन्यास का उपयोग न करने की अनुशंसा करता हूं (जब तक आपके पास कोई अनिवार्य कारण न हो), और स्ट्रिंग्स में सदस्य संदर्भों के लिए चर और $ ($ var.member) के लिए इसे सीधे $ var संदर्भों के साथ प्रतिस्थापित करें।
- 1. Powershell
- 2. PowerShell
- 3. PowerShell
- 4. PowerShell
- 5. PowerShell
- 6. PowerShell
- 7. PowerShell
- 8. PowerShell
- 9. PowerShell
- 10. PowerShell
- 11. Powershell
- 12. PowerShell
- 13. Powershell
- 14. PowerShell
- 15. PowerShell
- 16. PowerShell
- 17. PowerShell
- 18. PowerShell
- 19. PowerShell
- 20. PowerShell
- 21. PowerShell
- 22. PowerShell
- 23. PowerShell
- 24. PowerShell
- 25. PowerShell
- 26. PowerShell
- 27. PowerShell
- 28. PowerShell
- 29. PowerShell
- 30. PowerShell