2010-07-20 114 views
20

我在MySQL数据库中有一个表,我正在运行简单的SELECT查询(用于快速诊断/分析 - 因为我没有在服务器上运行phpmyadmin - for安全原因)。如何截断在MySQL查询中为列返回的文本

我希望能够截断使用像这样返回的数据:

select id, LEFT(full_name, 32), age FROM user 

其中用户是包含列ID,FULL_NAME和年龄

我尝试了上面的语句表并没有奏效。任何人都知道如何做到这一点?

[编辑]

对不起,我说忽略了最低的工作,我的意思是简单地MySQL的返回字符串“LEFT(FULL_NAME,32)”作为一个别名的列“FULL_NAME”和输出字段值 - 在这种情况下,可以长达256个字符。

+2

它以什么方式不起作用?你得到了什么结果,你期望得到什么?你需要设置一个别名选择ID,LEFT(full_name,32)作为full_name,age FROM用户访问你的代码吗? – 2010-07-20 13:55:09

回答

28
select id, SUBSTRING(full_name,1, 32), age FROM user 

引用mysql.com

对于所有形式的SUBSTRING(),在字符串中的第一个字符的位置从该子是要被提取被算作1

+0

正如Mark Ba​​ker在上面的评论中指出的那样,SUBSTRING上的别名将是一个好主意 – 2010-07-20 14:10:32

+1

有关'SUBSTRING'的更多详细信息:http://www.1keydata.com/sql/sql-substring.html – Julien 2013-03-07 16:24:41

1
select id, SUBSTRING(full_name,1, 32), age FROM user