如果是IF strcmp('abc','abc') THEN
.....
就没事如果是 IF 'abc'='abc' THEN
...
就报语法错误不过,select 'abc'='abc'就没事,相同就是1,不同就是0这个语法有点怪啊~~

解决方案 »

  1.   

    报啥语法错误呢?我测试可以,是否版本问题?
    mysql> DROP FUNCTION IF EXISTS  tt;
    Query OK, 0 rows affectedmysql> DELIMITER $$
    mysql> CREATE FUNCTION `tt`() RETURNS int(5)
    BEGIN
    IF 'abc' = 'abc' THEN
    RETURN 0;
    ELSE
    RETURN 1;
      END IF;
    END$$
    Query OK, 0 rows affectedmysql> DELIMITER ;
    mysql> SELECT tt();
    +------+
    | tt() |
    +------+
    |    0 |
    +------+
    1 row in setmysql> SELECT VERSION();
    +--------------------+
    | VERSION()          |
    +--------------------+
    | 5.1.6-alpha-nt-max |
    +--------------------+
    1 row in setmysql> 
      

  2.   

    真抱歉了,各位,我一个愚蠢的错误,写shell写习惯了,在存储过程里写了个elif 'abc'='abc'……
    存储过程里是可以IF 'abc'='abc'
    结贴结贴……