View Full Version : CHAR و VARCHAR
Elham_gh
دوشنبه 20 اسفند 1386, 09:55 صبح
هممون می دونیم فرق CHAR با VARCHAR چیه. حالا کد زیر رو ببنید:
DECLARE @a CHAR(20)
DECLARE @b VARCHAR(20)
SET @a=' This is Test '
SET @b=' This is Test '
SELECT LEN(@a),LEN(@b)
فکر می کنید خروجی اون چیه؟
من علت این خروجی رو نفمیدم.کسی می دونه؟
AminSobati
دوشنبه 20 اسفند 1386, 10:19 صبح
دوست عزیزم،
Books Online این موضوع رو در مورد تابع LEN توضیح داده:
Returns the number of characters, instead of the number of bytes, of the given string expression, excluding trailing blanks
اگر دقیقا تعداد بایتهای اشغال شده رو نیاز دارین:
DECLARE @a CHAR(20)
DECLARE @b VARCHAR(20)
SET @a=' This is Test '
SET @b=' This is Test '
SELECT LEN(@a),LEN(@b)
SELECT DATALENGTH(@a),DATALENGTH(@b)
Elham_gh
دوشنبه 20 اسفند 1386, 10:26 صبح
ممنون
اما در SQL Server 2000 هم همینطور عمل می کرد؟
AminSobati
دوشنبه 20 اسفند 1386, 10:36 صبح
در 2000 هم همین رفتار بوده:
http://msdn2.microsoft.com/en-us/library/aa933234(SQL.80).aspx
Elham_gh
دوشنبه 20 اسفند 1386, 11:08 صبح
پس عجیبه که به این نکته دقت نکرده بودم.در هر صورت ممنون. :)
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.