Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4157602
  • 博文数量: 240
  • 博客积分: 11504
  • 博客等级: 上将
  • 技术积分: 4277
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-28 14:24
文章分类

全部博文(240)

分类: Mysql/postgreSQL

2007-10-15 14:48:58

CAST 和 CONVERT函数应该注意的问题。

手册中的信息:

1)、CONVERT()一般可用于比较出现在不同字符集中的字符串。

具体参数:

    * CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name)

2)、CAST() 和CONVERT() 函数还可用来获取一个类型的值,并产生另一个类型的值。

这个类型 可以是以下值其中的 一个:

          o BINARY[(N)]
          o CHAR[(N)]
          o DATE
          o DATETIME
          o DECIMAL
          o SIGNED [INTEGER]
          o TIME
          o UNSIGNED [INTEGER]
         

所以这样的转化是错误的:

declare str char(40);
set str = 'This is a test string.';
select cast(str as varchar(40));

所以大家在设计MYSQL表的时候记得该用VARCHAR的时候不要用CHAR.因为以后想改类型的时候就不允许了,而只能重新定义表然后导入数据。
阅读(3504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~