मैं एक कष्टप्रद डेटाबेस से निपट रहा हूं जहां एक फ़ील्ड में वास्तव में दो अलग-अलग फ़ील्ड संग्रहीत किए जाने चाहिए। तो कॉलम को "पहली स्ट्रिंग ~ @ ~ दूसरी स्ट्रिंग" जैसी कुछ संग्रहीत किया जाता है, जहां "~ @ ~" डिलीमीटर होता है। (फिर से, मैं इस डिजाइन नहीं किया, मैं तो बस इसे ठीक करने की कोशिश कर रहा हूँ।)एसक्यूएल सर्वर: स्ट्रॉप्स() के बराबर?
मैं एक प्रश्न दो कॉलम में इस ले जाना चाहते हैं, जो कुछ इस तरह दिखेगा:
UPDATE UserAttributes
SET str1 = SUBSTRING(Data, 1, STRPOS(Data, '[email protected]~')),
str2 = SUBSTRING(Data, STRPOS(Data, '[email protected]~')+3, LEN(Data)-(STRPOS(Data, '[email protected]~')+3))
लेकिन मुझे नहीं लगता कि स्ट्रॉप्स के बराबर कोई भी मौजूद है।
यह ध्यान रखना महत्वपूर्ण है कि तर्कों का क्रम यहां स्विच किया गया है, जिससे आप "स्ट्रिंग या बाइनरी डेटा को छोटा कर दिया जाएगा" त्रुटियों के कारण, यदि आप सुई और घास के समान क्रम में छोड़ देते हैं strpos। – Noumenon