使用ALTER命令修改,格式:\x0d\x0aALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型定义;\x0d\x0a\x0d\x0a例如:\x0d\x0aALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为元宝企业提供专业的成都网站制作、网站建设,元宝网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是109,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为109。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。
例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED
当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。
转换完成就可以用来进行后期的数值比较了!
数字转字符
mysql SELECT CONCAT ( CAST(1 as char) , '2') AS test;
+------+
| test |
+------+
| 12 |
+------+
1 row in set (0.00 sec)
mysql SELECT CONCAT ( Convert(1, char) , '2') AS test;
+------+
| test |
+------+
| 12 |
+------+
1 row in set (0.00 sec)
字符转数字
mysql SELECT CAST('1' as SIGNED) + 100 AS test;
+------+
| test |
+------+
| 101 |
+------+
1 row in set (0.00 sec)
mysql SELECT Convert('1' , SIGNED) + 100 AS test;
+------+
| test |
+------+
| 101 |
+------+
1 row in set (0.00 sec)