Friday 15 July 2011

like operator issue in sql server -


  घोषित करें @ कस्टफिल्ड 6 नवरर्चार (10) घोषित करें @ नमूना नवरेचार (10) सेट @ कस्टफिल्ड 6 = 'एसएफ' का चयन करें customer_id csu_customer_policy भीतरी पर csu_policy.policy_number = csu_customer_policy.policy_number और csu_policy.data_source = csu_customer_policy.data_source csu_policy में शामिल होने के जहां '' '' + @ CustField6 + '%' '' और 0 csu_customer_policy.delete_status = और csu_customer_policy.site_id + चाहते csu_policy.vehicle_no से = 1   

मैं चाहता हूं कि सभी रिकॉर्ड जिनके पास csu_policy.vehicle_no से sf%

से शुरू होता है I अगर sf को सीधे @ CustField6 के बदले यह मेरे सभी अभिलेख देता है, लेकिन जब मैं इसे @ CustField6 का उपयोग करके निष्पादित करता हूं तो यह कोई त्रुटि नहीं देता लेकिन कोई रिकॉर्ड नहीं प्राप्त करता है, यहां तक ​​कि मैंने यह कोड जांचने के लिए मुद्रित किया है कि क्या क्वेरी सही तरीके से तैयार की जा रही है, और यह ठीक काम कर रहा है। लेकिन मुझे नहीं पता कि यह किसी रिकॉर्ड को क्यों नहीं निकाल रहा है?

आपका वाक्यविन्यास गलत है ऐसा होना चाहिए:

  जहां csu_policy.vehicle_no @ CustField6 + '%' जैसे   

यह मान लें कि @ CustField6 बराबर है sf , यह

  के बराबर है, जहां csu_policy.vehicle_no जैसा 'sf%'   

यदि आप ऐसा करते हैं:

  जहां csu_policy.vehicle_no जैसे '' '+ @ CustField6 +'% '' ''   

तब आप वास्तव में यह कर रहे हैं: < पूर्व> जहां csu_policy.vehicle_no जैसे '' 'sf%' ''

दूसरे शब्दों में, आप रिकॉर्ड खोज रहे हैं जो मैच 'sf%' - एक उद्धरण के साथ शुरू होने वाला रिकॉर्ड, फिर sf , फिर कुछ भी, फिर एक उद्धरण के साथ समाप्त करें।

No comments:

Post a Comment