设为首页 加入收藏

TOP

mysql sql LENGTH,RIGHT,CHAR_LENGTH字符处理函数
2011-06-12 21:50:34 来源: 作者: 【 】 浏览:546次 评论:0

mysql教程 sql LENGTH,RIGHT,CHAR_LENGTH字符处理函数


LENGTH(str)
 
OCTET_LENGTH(str)
 
CHAR_LENGTH(str)
 
CHARACTER_LENGTH(str)
返回字符串str的长度。

mysql> select LENGTH('text');
        -> 4
mysql> select OCTET_LENGTH('text');
        -> 4

mysql> SELECT
    ->    CONCAT(RIGHT(Name, LENGTH(Name) - INSTR(Name, ' ') + 1),
    ->           ', ', LEFT(Name, INSTR(Name, ' ') - 1))
    ->    AS StudentName
    -> FROM Student
    -> ORDER BY StudentName;
+---------------+
| StudentName   |
+---------------+
|  But, Cory    |
|  Harvests, JJ |
|  Wang, Joe    |
+---------------+
3 rows in set (0.04 sec)


*/

RIGHT(str,len)
返回字符串str的最右面len个字符。
mysql> select RIGHT('foobarbar', 4);
        -> 'rbar'

该函数是多字节可靠的

 

/* Prepare the data */
DROP TABLE Student;

CREATE TABLE Student (
   StudentID INT NOT NULL PRIMARY KEY,
   Name      VARCHAR(50) NOT NULL
)TYPE = InnoDB;


/* Insert data for testing */
INSERT INTO Student (StudentID,Name) VALUES (1,'Joe Wang');
INSERT INTO Student (StudentID,Name) VALUES (2,'Cory But');
INSERT INTO Student (StudentID,Name) VALUES (3,'JJ Harvests');

Select * from StudentExam;

 
/* Real command */
SELECT
   CONCAT(RIGHT(Name, LENGTH(Name) - INSTR(Name, ' ') + 1),
          ', ', LEFT(Name, INSTR(Name, ' ') - 1))
   AS StudentName
FROM Student
ORDER BY StudentName;

 

注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。

 

SELECT Name, CHAR_LENGTH(Name) AS CharLength
FROM DVDs
WHERE CHAR_LENGTH(Name)>5
ORDER BY Name;
您看到此篇文章时的感受是:
Tags: 责任编辑:administrator
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇sql IN 与not in的用法 下一篇memcached 做mysql主从备份方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位