SQL SERVER 2008

تجارب من در رابطه با SQL SERVER

توابع تبدیل ارتقا یافته
ساعت ٢:۱۸ ‎ب.ظ روز ۱۳۸٧/٦/٢٧  کلمات کلیدی: sql server 2008 ، t-sql ، توابع تبدیل ، convert methods

توابع تبدیل نوعهای مختلف به یکدیگر ارتقا یافته است. شما میتوانید به عنوان سومین آرگومان سبک و شیوه تبدیل را تعیین کنید. شیوه 0 (صفر) همان چیزیست که در نسخه های قبل انجام میشد. این شیوه رشته ها را به کد اسکی باینری معادل ترجمه میکند و همچنین بالعکس.
شیوه های 1 و 2 انواع جدیدی هستند. این شیوه ها رشته های در مبنای 16 را به معادل مقدار باینری که معادل ارقام در مبنای 16 است تبدیل میکند و بالعکس. وقتی شما از شیوه 1 استفاده کنید رشته ورودی باید دارای پیشوند 0x باشد و اگر شیوه 2 را استفاده کنید نباید اینگونه باشد. این اتفاق در هنگامی که یک مقدار باینری را به کاراکتر تبدیل میکنید هم اتفاق می افتد. به مثالهای زیر دقت نمایید:


SELECT
  CONVERT(VARCHAR(12) , 0x49747A696B  , 1) AS [Bin to Char 1],
  CONVERT(VARBINARY(5), '0x49747A696B', 1) AS [Char to Bin 1],
  CONVERT(VARCHAR(12) , 0x49747A696B  , 2) AS [Bin to Char 2],
  CONVERT(VARBINARY(5), '49747A696B'  , 2) AS [Char to Bin 2];


این کد خروجی زیر را خواهد داشت:


Bin to Char 1 Char to Bin 1 Bin to Char 2 Char to Bin 2
------------- ------------- ------------- -------------
0x49747A696B  0x49747A696B  49747A696B    0x49747A696B