2011-07-21 51 views
4

我不明白爲什麼這個沒有發揮出來:子串()的字段在MYSQL

select id,name,concat(substring(description,0,30),'...') as desc_shortened, created_date,added_by from products 

即使存在description領域內的數據。我沒有在mySQL文檔上看到任何字段示例。他們使用純字符串而不是列名。

concat(susbtring(description,0,30))只返回...就這些。

回答

8

改爲使用substring(description,1,30)

+0

我不知道它是從'1'開始的。我希望它會以'0'開頭。它總是這樣嗎? – Tarik

+0

取決於語言,甚至是類型。 VB中的字符串從0開始,具有1的集合(在創建時插入了虛擬0) – Martin

0

Oracle在此函數中將0視爲1,但mysql將0視爲空。因此您應該使用子字符串(description,1,30)。