ইনডেক্সফ ফাংশন টি-এসকিউএল এ


168

একটি ইমেল ঠিকানা কলাম দেওয়া হয়েছে, আমার স্ট্রস্ট্রিংয়ের জন্য @ সাইন এর অবস্থানটি সন্ধান করতে হবে।

indexofটি-এসকিউএল এর স্ট্রিংগুলির জন্য ফাংশনটি কী ?

এমন কিছু সন্ধান করছেন যা একটি স্ট্রিংয়ের মধ্যে একটি স্ট্রিংয়ের অবস্থান ফিরে দেয়।

সি # তে

var s = "abcde";
s.IndexOf('c'); // yields 2

উত্তর:


248

CHARINDEX আপনি যা খুঁজছেন তা

select CHARINDEX('@', 'someone@somewhere.com')
-----------
8

(1 row(s) affected)

-অথবা-

select CHARINDEX('c', 'abcde')
-----------
3

(1 row(s) affected)

67

একটি অক্ষর স্ট্রিংয়ে নির্দিষ্ট অভিব্যক্তিটির প্রারম্ভিক অবস্থানটি ফিরে পেতে আপনি CHARINDEX বা PATINDEX ব্যবহার করতে পারেন ।

CHARINDEX('bar', 'foobar') == 4
PATINDEX('%bar%', 'foobar') == 4

মনে রাখবেন যে আপনার উভয় পক্ষের PATINDEX এ ওয়াইল্ডকার্ডগুলি ব্যবহার করা দরকার।


35

একটি খুব ছোট নীট বাছাই:

ইমেল ঠিকানাগুলির জন্য আরএফসি প্রথম অংশটিকে "@" সাইন অন্তর্ভুক্ত করার অনুমতি দেয় যদি এটি উদ্ধৃত হয়। উদাহরণ:

"john@work"@myemployer.com

এটি বেশ অস্বাভাবিক, তবে ঘটতে পারে। তাত্ত্বিকভাবে, আপনার সর্বশেষ "@" চিহ্নে বিভক্ত হওয়া উচিত , প্রথমটি নয়:

SELECT LEN(EmailField) - CHARINDEX('@', REVERSE(EmailField)) + 1

অধিক তথ্য:

http://en.wikipedia.org/wiki/Email_address


এগুলি হ'ল ধরণের জিনিস যা আমি আমাদের ডেটাবেজে নির্ধারণ এবং ঠিক করার চেষ্টা করছি। প্রধানত লোকেরা তাদের ডোমেন নামটি ভুলভাবে টাইপ করে। বেশিরভাগ ওয়েব সত্যে ফিরে যায় তবে এমএক্স রেকর্ডগুলি এগিয়ে যায় না এবং সেগুলি প্রদর্শন করা বিশ্রী হয়ে যায়
ডেভেলপিংক্রিস

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.