এরকম কিছু চেষ্টা করুন:
WITH AreaCode (A) AS (
SELECT '[0-9][0-9][0-9][-.]'
UNION ALL SELECT '([0-9][0-9][0-9])-'
), Prefix (P) AS (
SELECT '[0-9][0-9][0-9]-'
), Last4 (L) AS (
SELECT '[0-9][0-9][0-9][0-9]'
), Ext1 (E1) AS (
SELECT ' x'
UNION ALL SELECT ' Ext.'
UNION ALL SELECT ' ext'
), Ext2 (E2) AS (
UNION ALL SELECT '[0-9][0-9]'
UNION ALL SELECT '[0-9][0-9][0-9]'
UNION ALL SELECT '[0-9][0-9][0-9][0-9]'
), Extension (E) AS (
SELECT ''
UNION ALL SELECT E1 + E2 FROM Ext1 CROSS JOIN Ext2
),
SELECT *
FROM
YourTable Y
WHERE NOT EXISTS (
SELECT *
FROM
AreaCode
CROSS JOIN Prefix
CROSS JOIN Last4
CROSS JOIN Extension
WHERE
Y.PhoneNumber LIKE AreaCode + Prefix + Last4 + Extension
);
আপনি যদি এমন নিদর্শনগুলি খুঁজে পান যা বৈধ তবে কোয়েরিতে আচ্ছাদিত নয় তবে সেগুলি অংশ এবং টুকরাগুলিতে দেখানো হবে। আপনি যদি দুটি অংশে একসাথে থাকা দরকার এমন কিছু খুঁজে পান তবে এক্সটেনশন সিটিই (যা হয় নিখোঁজ বা এক্সট 1 এবং এক্সট 2 এর সংমিশ্রণ) এর পরে মডেল করুন। আপনার যদি আন্তর্জাতিক সংখ্যাগুলি সমর্থন করার প্রয়োজন হয় এবং এগুলির বিভিন্ন নিদর্শন রয়েছে (৩-৩-৪ মার্কিন যুক্তরাষ্ট্রের সাথে মেলে না) তবে সঠিক দেশের কোডগুলি সঠিক নিদর্শনগুলির সাথে মিলে যায় এমন জন্য আপনার কিছু বিশ্লেষণ এবং সঠিক সংযুক্তি প্রয়োজন। উদাহরণস্বরূপ, আমি জানি যে ব্রাজিলের কিছু অংশে, এটি একটি বৈধ সংখ্যা: +55 85 1234-5678 (দেশের কোড 55, ক্ষেত্রের কোড দুটি অঙ্ক, তারপর 4-4 প্যাটার্ন)।
আপনাকে আপনার ডেটা বিশ্লেষণে সহায়তা করার জন্য আরেকটি কৌশল হ'ল:
WITH Patterns (P) AS (
SELECT
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
PhoneNumber,
'1', '0'), '2', '0'), '3', '0'), '4', '0'),
'5', '0'), '6', '0'), '7', '0'), '8', '0'), '9', '0'
)
)
SELECT P, Count(*)
FROM Patterns
GROUP BY P;
প্রতিটি সারিটির মধ্যে প্রকৃত ফোন নম্বর পার্থক্য উপেক্ষা করে এবং কেবলমাত্র অঙ্কের ব্যবস্থা এবং গণনাতে মনোযোগ দিয়ে এটি আপনার ডেটা কেমন তা বুঝতে সহায়তা করতে পারে। যদি প্রচুর আলফা অক্ষর থাকে তবে তালিকার মধ্যে পাওয়া যায় না এমন মান দিয়ে বৈধ নিদর্শন (যেমন "এক্সট") প্রতিস্থাপনের চেষ্টা করুন, যাতে আপনি বাকী সমস্ত স্পুরিয়াস ইনপুটটিকে এমন কোনও কিছুতে ভেঙে ফেলতে পারেন যা একইরকম বিশ্লেষণ করা যেতে পারে Replace()
বর্ণমালা প্রতিটি অক্ষরের জন্য।