PDA

View Full Version : مشکل در cast کردن یک فیلد



trade_mark
دوشنبه 06 اردیبهشت 1389, 15:15 عصر
سلام
من یه فیلد دارم که از نوع varcahr می باشد حالا می خواهم در زمان query زدن به int تبدیلش کنم
چرا این دستور sql خطا میده؟
کسی چیزی می دونه؟
دستور sql من :

SELECT cast( m_startd AS int ) AS st
FROM matchs
LIMIT 0 , 30خطای زیر رو می ده


#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int ) as st from matchs
LIMIT 0, 30' at line 1

Arman_gh
دوشنبه 06 اردیبهشت 1389, 15:54 عصر
از راهنمای MYSQL

The type can be one of the following values:

*

BINARY[(N)]
*

CHAR[(N)]
*

DATE
*

DATETIME
*

DECIMAL[(M[,D])]
*

SIGNED [INTEGER]
*

TIME
*

UNSIGNED [INTEGER]


شما باید به جای int از signed یا unsigned استفاده کنی.

trade_mark
دوشنبه 06 اردیبهشت 1389, 16:10 عصر
خیلی خیلی ممنون
signed , unsigned چه نوعی حساب می شن؟منظورم عدد یا حروف
یکم بیشتر توضیح می دین

Arman_gh
دوشنبه 06 اردیبهشت 1389, 16:34 عصر
signed و unsigned همون اعداد علامتدار و بی علامت هستند و هر دو عددی اند. فرقشون هم اینه که علامتدارها یا signed ها می تواند اعداد منفی بگیرن و unsigned ها یا بی علامت ها تنها اعداد مثبت میگیرن. فرق دوم هم بازه یا range ی است که هر کدام استفاده میکنند. برای اطلاعات بیشتر:
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

trade_mark
دوشنبه 06 اردیبهشت 1389, 16:43 عصر
دوست عزیز ممنون از راهنمایت
با آرزوی موفقیت