हमारे पास एक SQL जनरेटर है जो SQL सशर्त कथनों को निर्दिष्ट क्षेत्रों (जो चर्चा के लिए: हम के रूप में लेबल करेंगे myField
) के लिए उदारता से उत्सर्जित करते हैं ।
यदि myField
इस प्रकार का है NVARCHAR
, हम तो इस तरह की स्ट्रिंग के खिलाफ कहा क्षेत्र की तुलना कर सकते हैं: myField = 'foo'
।
हालांकि, यह प्रकार के क्षेत्रों के लिए काम नहीं करता है NTEXT
। इस प्रकार, हमें एक कास्ट के साथ तुलना करना होगा CAST(myField as NVARCHAR(MAX)) = 'foo'
:। यह वास्तव में काम करेगा यदि myField
प्रकार का है NVARCHAR
या NTEXT
।
पहले से ही टाइप की गई फ़ील्ड पर पूर्वोक्त कास्ट करने का प्रदर्शन क्या है NVARCHAR
? मेरी आशा है कि एसक्यूएल सर्वर गतिशील रूप से पहचानने के लिए पर्याप्त स्मार्ट है जो myField
पहले से ही प्रकार का है NVARCHAR
(प्रभावी रूप CAST
से एक नो-ऑप में बदल रहा है )।