একটি এসকিউএলসিএলআর ইউডিটি ব্যবহার করুন। এটি কাজ করতে পারে, যদিও এটি উপরে বর্ণিত পদ্ধতির তুলনায় নেট-লাভ উপস্থাপন করে তা অস্পষ্ট।
হ্যাঁ, একটি এসকিউএলসিআরআর ইউডিটি এর তুলনা অপারেটরগুলিকে কাস্টম অ্যালগরিদম দিয়ে ওভাররাইড করতে পারে। এটি এমন পরিস্থিতি পরিচালনা করে যেখানে মানটি ইতিমধ্যে একই কাস্টম ধরণের অন্য কোনও মানের সাথে তুলনা করা হয়, বা এমন একটি যা স্পষ্টভাবে রূপান্তরিত হওয়া দরকার। এই উচিত একটি সীমার ফিল্টার হ্যান্ডেল WHERE
অবস্থায়।
নিয়মিত কলামের ধরণ হিসাবে কোনও ইউডিটি বাছাই করার ক্ষেত্রে (কোনও গণিত কলাম নয়) এটি কেবলমাত্র সম্ভব যখন ইউডিটি "বাইট আদেশিত" হয়। "বাইট অর্ডার" হওয়ার অর্থ হ'ল ইউডিটির বাইনারি উপস্থাপনা (যা ইউডিটিতে সংজ্ঞায়িত করা যায়) স্বাভাবিকভাবে যথাযথভাবে সাজানো হয়। ধরে নিই যে বাইনারি উপস্থাপনটি ভর্চার (50) কলামের জন্য উপরে বর্ণিত পদ্ধতির সাথে একইভাবে পরিচালিত হয়েছে যাতে প্যাডযুক্ত নির্দিষ্ট দৈর্ঘ্যের বিভাগ রয়েছে যা যোগ্য হবে। বা, যদি বাইনারি উপস্থাপনাটি যথাযথভাবে যথাযথভাবে অর্ডার করা যায় তা নিশ্চিত করা সহজ না হয় তবে আপনি ইউডিটির কোনও পদ্ধতি বা সম্পত্তি প্রকাশ করতে পারেন যা সঠিকভাবে অর্ডার করা হবে এমন একটি মানকে আউটপুট করে এবং তারপরে একটি PERSISTED
গণিত কলাম তৈরি করতে পারে পদ্ধতি বা সম্পত্তি। পদ্ধতিটি ডিটারমিনিস্টিক এবং চিহ্নিত হিসাবে চিহ্নিত করা দরকার IsDeterministic = true
।
এই পদ্ধতির সুবিধা হ'ল:
- "আসল মান" ক্ষেত্রের প্রয়োজন নেই।
- ডেটা sertোকাতে বা মানগুলির তুলনা করতে কোনও ইউডিএফ কল করার দরকার নেই। ধরে নিচ্ছি যে
Parse
ইউডিটির পদ্ধতিটি P7B18
মান গ্রহণ করে এবং এটি রূপান্তর করে, তবে আপনার স্বাভাবিকভাবে মানগুলি সন্নিবেশ করতে সক্ষম হওয়া উচিত P7B18
। এবং ইউডিতে সেট করা অন্তর্নিহিত রূপান্তর পদ্ধতির সাথে, যেখানে শর্তটি কেবল P7B18` ব্যবহার করার অনুমতি দেয় `
এই পদ্ধতির ফলাফলগুলি হ'ল:
- কেবল ক্ষেত্রটি নির্বাচন করা বাইনারি উপস্থাপনাটি ফিরিয়ে দেবে, যদি বাইটকে আদেশ দেওয়া ইউডিটি কলামের ডেটাটাইপ হিসাবে ব্যবহার করে। অথবা যদি
PERSISTED
কোনও ইউডিটির কোনও সম্পত্তি বা পদ্ধতিতে গণিত কলাম ব্যবহার করা হয়, তবে আপনি সম্পত্তি বা পদ্ধতিতে ফিরে উপস্থাপনা পাবেন। আপনি যদি মূল P7B18
মানটি চান , তবে আপনাকে সেই উপস্থাপনাটি ফেরত দেওয়ার জন্য কোডড করা ইউডিটির কোনও পদ্ধতি বা সম্পত্তি কল করতে হবে। যেহেতু আপনাকে ToString
যাহাই হউক না কেন পদ্ধতিটি ওভাররাইড করতে হবে , এটি এটি সরবরাহের জন্য ভাল প্রার্থী।
এটি অস্পষ্ট (কমপক্ষে এখনই আমার কাছে যেহেতু আমি এই অংশটি পরীক্ষা করি নি) বাইনারি উপস্থাপনায় যে কোনও পরিবর্তন করা কতটা সহজ / কঠিন কাজ। সঞ্চিত, সাজানোর যোগ্য উপস্থাপনা পরিবর্তন করার জন্য ক্ষেত্রটি ড্রপ এবং পুনরায় যুক্ত করার প্রয়োজন হতে পারে। এছাড়াও, ইউডিটি সম্বলিত অ্যাসেমব্লিকে বাদ দেওয়া যদি কোনওভাবেই ব্যবহার করা হয় তবে ব্যর্থ হয়, সুতরাং আপনি নিশ্চিত করতে চাইবেন যে এই ইউডিটি ছাড়াও বিধানসভায় আর কিছুই ছিল না। আপনি ALTER ASSEMBLY
সংজ্ঞাটি প্রতিস্থাপন করতে পারেন তবে এতে কিছু বিধিনিষেধ রয়েছে।
অন্যদিকে, VARCHAR()
ক্ষেত্রটি এমন ডেটা যা অ্যালগরিদম থেকে সংযোগ বিচ্ছিন্ন হয় তাই এটির জন্য কেবল কলামটি আপডেট করা দরকার। এবং যদি সেখানে কয়েক মিলিয়ন সারি (বা আরও বেশি) থাকে তবে এটি একটি সজ্জিত পদ্ধতির মাধ্যমে করা যেতে পারে।
আইসিইউ লাইব্রেরি প্রয়োগ করুন যা আসলে এই বর্ণমালা বাছাই করার অনুমতি দেয়। অত্যন্ত কার্যক্ষম অবস্থায়, গ্রন্থাগারটি কেবল দুটি ভাষায় আসে: সি / সি ++ এবং জাভা। যার অর্থ আপনার ভিজ্যুয়াল সি ++ এ কাজ করার জন্য কিছু টুইট করতে হবে বা জাভা কোডটি আইকেভিএম ব্যবহার করে এমএসআইএল রূপান্তর করতে পারে এমন সম্ভাবনা রয়েছে । সেখানে একটি বা দুটি। নেট পাশের প্রকল্পগুলি লিঙ্কযুক্ত আছে যা একটি সিওএম ইন্টারফেস সরবরাহ করে যা পরিচালিত কোডে অ্যাক্সেস করা যায়, তবে আমি বিশ্বাস করি যে তারা কিছুক্ষণের মধ্যে আপডেট হয়নি এবং আমি সেগুলি চেষ্টা করি নি। এখানকার সেরা-বাজিটি হ'ল সাজ্ট কী তৈরির লক্ষ্য নিয়ে অ্যাপ্লিকেশন স্তরে এটি পরিচালনা করা। এর পরে বাছাই কীগুলি নতুন ধরণের কলামে সংরক্ষণ করা হবে।
এটি সবচেয়ে ব্যবহারিক পদ্ধতির নাও হতে পারে। যাইহোক, এটি এখনও খুব শীতল যে এই ধরনের ক্ষমতা বিদ্যমান। আমি নীচের উত্তরে এর উদাহরণের আরও বিশদ ওয়াক-থ্রো সরবরাহ করেছি:
নিম্নলিখিত ক্রমটি 1,2,3,6,10,10 এ, 10 বি, 11 অনুসারে নিম্নোক্ত স্ট্রিংগুলি সাজানোর জন্য কি কোনও জোট রয়েছে?
কিন্তু সেই প্রশ্নে যে প্যাটার্নটি মোকাবেলা করা হচ্ছে তা কিছুটা সহজ। এই প্রশ্নের মধ্যে যে ধরণের ধরণের আচরণ করা হচ্ছে তা দেখানোর উদাহরণ দেওয়ার জন্য, দয়া করে নীচের পৃষ্ঠায় যান:
আইসিইউ কোলেশন ডেমো
"সেটিংস" এর অধীনে, "সাংখ্যিক" বিকল্পটি "চালু" তে সেট করুন এবং অন্য সকলকে "ডিফল্ট" এ সেট করা উচিত। এর পরে, "বাছাই করুন" বোতামের ডানদিকে, "ডিফার্ফ শক্তি" এর বিকল্পটি চেক করুন এবং "বাছাই কী" এর বিকল্পটি পরীক্ষা করুন। তারপরে "ইনপুট" পাঠ্য অঞ্চলের আইটেমের তালিকাটি নীচের তালিকার সাথে প্রতিস্থাপন করুন:
P12B22
P7B18
P12B3
as456456hgjg6786867
P7Bb19
P7BA19
P7BB19
P007B18
P7Bb20
P7Bb19z23
"বাছাই করুন" বোতামটি ক্লিক করুন। "আউটপুট" পাঠ্য অঞ্চলটি নিম্নলিখিতটি প্রদর্শন করা উচিত:
as456456hgjg6786867
29 4D 0F 7A EA C8 37 35 3B 35 0F 84 17 A7 0F 93 90 , 0D , , 0D .
P7B18
47 0F 09 2B 0F 14 , 08 , FD F1 , DC C5 DC 05 .
P007B18
47 0F 09 2B 0F 14 , 08 , FD F1 , DC C5 DC 05 .
P7BA19
47 0F 09 2B 29 0F 15 , 09 , FD FF 10 , DC C5 DC DC 05 .
P7Bb19
47 0F 09 2B 2B 0F 15 , 09 , FD F2 , DC C5 DC 06 .
P7BB19
47 0F 09 2B 2B 0F 15 , 09 , FD FF 10 , DC C5 DC DC 05 .
P7Bb19z23
47 0F 09 2B 2B 0F 15 5B 0F 19 , 0B , FD F4 , DC C5 DC 08 .
P7Bb20
47 0F 09 2B 2B 0F 16 , 09 , FD F2 , DC C5 DC 06 .
P12B3
47 0F 0E 2B 0F 05 , 08 , FD F1 , DC C5 DC 05 .
P12B22
47 0F 0E 2B 0F 18 , 08 , FD F1 , DC C5 DC 05 .
দয়া করে নোট করুন যে বাছাই কীগুলি একাধিক ক্ষেত্রের কাঠামো, কমা দ্বারা পৃথক। প্রতিটি ক্ষেত্রকে স্বাধীনভাবে বাছাই করা দরকার, যাতে এসকিউএল সার্ভারে এটি প্রয়োগ করার প্রয়োজন হলে সমাধানের জন্য আরও একটি ছোট সমস্যা উপস্থাপন করা হয়।
P7B12
হয়ে উঠতে পারে , তাইP 07 B 12
80 07 65 12
80076512