2012-04-05 68 views
0

在SQL语句中,如何将文本字段char长度的返回值限制为特定大小?截断SQL选择中的字段值

试过这么远

select len(mytextfield,30) from table 
+0

SubString:http://msdn.microsoft.com/en-us/library/ms187748%28v=sql.105%29.aspx – shenhengbin 2012-04-05 02:12:52

回答

3

您希望SUBSTRING功能。

SELECT SUBSTRING(mytextfield, 1, 30) FROM Table

(这是假设SQL Sever的/ T-SQL,你没有指定一个数据库引擎。)

+0

@ downvoter - 谨慎解释原因? – 2012-04-05 02:18:51

+0

不知道为什么我得到了-2票。不是我关心,而是很奇怪。但无论如何,这是MySQL。我很抱歉没有将它包含在原始问题中。现在我用mysql标记q。 – 2012-04-05 04:00:34

+0

@AverageJoe - 'SUBSTRING'和'LEFT'应该和mySql一起工作。 – 2012-04-05 10:30:14

1
select left(mytextfield,30) 

我不积极,但我认为子功能不针对TEXT数据类型。

+1

来自我的+1 - 但来自MSDN的“SUBSTRING”文档 - “返回字符,二进制,文本或图像表达式的一部分。” – 2012-04-05 02:21:21

+0

现在我不记得问题是什么,它可能是一个SQL 2000的事情。 TEXT是绝对无法做到的事情,这是VARCHAR(max)派上用场的原因之一。 – datagod 2012-04-05 03:36:49