خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تابع ()SOUNDEX در SQL Server
یکی از توابع موجود در SQL Server تابع SOUNDEX است که کد Soundex را برای یک رشته مشخص برمی گرداند. Soundex یک الگوریتم phonetic برای index کردن نام ها بر اساس چیزی که در انگلیسی تلفظ می شود، می باشد که در سالهای 1918 و 1922 توسعه و ثبت شد.
Syntax استفاده از این تابع بصورت زیر می باشد:
character_expression در واقع متغیر یا رشته ثابت یا ستون می تواند باشد که به این تابع پاس میدهید تا کد Soundex برای آن در خروجی نمایش داده شود.
در مثال ساده زیر بازیابی کد SOUNDEX از یک رشته را مشاهده خواهید کرد.
همانطور که مشاهده می کنید، Soundex code برای عبارت مذکور، S600 می باشد.
در مثال زیر دو کلمه ای را مشاهده می کنید که کد Soundex یکسانی دارند چرا که که تلفظ هر دوی آنها یکسان می باشد.
در این خصوص حتی مثال های زیر را هم می توانید مشاهده کنید که بصورت دو به دو، Soundex های یکسانی دارند:
در مثال زیر دو کلمه متفاوت و با Soundex متفاوت را مشاهده خواهید کرد:
بسته به اینکه از کدام کشور هستید بعضی از کلمات Spell های مختلفی دارند. چنین کلماتی کد Soundex مشابهی را دارند:
گاها دو کلمه به نظر یکسان می رسند ، اما کدهای Soundex متفاوت دارند. متداول ترین دلیل این امر این است که آنها با حروف متفاوتی شروع می شوند و کد Soundex با حرف اول رشته شروع می شود(حرف اول رشته، به حرف بزرگ تبدیل می شود). پس اگر رشته ای دارید که تلفظ یکسان دارند ولی شروع آنها یکسان نیست، کد Soundex متفاوتی را در خروجی آنها خواهید دید.
Syntax استفاده از این تابع بصورت زیر می باشد:
SOUNDEX ( character_expression )
character_expression در واقع متغیر یا رشته ثابت یا ستون می تواند باشد که به این تابع پاس میدهید تا کد Soundex برای آن در خروجی نمایش داده شود.
در مثال ساده زیر بازیابی کد SOUNDEX از یک رشته را مشاهده خواهید کرد.
SELECT SOUNDEX('Sure');
S600
همانطور که مشاهده می کنید، Soundex code برای عبارت مذکور، S600 می باشد.
در مثال زیر دو کلمه ای را مشاهده می کنید که کد Soundex یکسانی دارند چرا که که تلفظ هر دوی آنها یکسان می باشد.
SELECT
SOUNDEX('Sure') AS Sure,
SOUNDEX('Shore') AS Shore;
Sure Shore
---- -----
S600 S600
در این خصوص حتی مثال های زیر را هم می توانید مشاهده کنید که بصورت دو به دو، Soundex های یکسانی دارند:
SELECT
SOUNDEX('Dam') AS Dam,
SOUNDEX('Damn') AS Damn,
SOUNDEX('Too') AS Too,
SOUNDEX('Two') AS Two;
Dam Damn Too Two
---- ---- ---- ----
D500 D500 T000 T000
در مثال زیر دو کلمه متفاوت و با Soundex متفاوت را مشاهده خواهید کرد:
SELECT
SOUNDEX('Water') AS Water,
SOUNDEX('Coffee') AS Coffee;
Water Coffee
----- ------
W360 C100
بسته به اینکه از کدام کشور هستید بعضی از کلمات Spell های مختلفی دارند. چنین کلماتی کد Soundex مشابهی را دارند:
SELECT
SOUNDEX('Flavor') AS 'Flavor',
SOUNDEX('Flavour') AS 'Flavour';
Flavor Flavour
------ -------
F416 F416
گاها دو کلمه به نظر یکسان می رسند ، اما کدهای Soundex متفاوت دارند. متداول ترین دلیل این امر این است که آنها با حروف متفاوتی شروع می شوند و کد Soundex با حرف اول رشته شروع می شود(حرف اول رشته، به حرف بزرگ تبدیل می شود). پس اگر رشته ای دارید که تلفظ یکسان دارند ولی شروع آنها یکسان نیست، کد Soundex متفاوتی را در خروجی آنها خواهید دید.
SELECT
SOUNDEX('Hole') AS 'Hole',
SOUNDEX('Whole') AS 'Whole',
SOUNDEX('Our') AS Our,
SOUNDEX('Hour') AS Hour;
Hole Whole Our Hour
---- ----- ---- ----
H400 W400 O600 H600
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: