Postgresql
pgsql 返回以整個單詞結尾的部分文本欄位
我發現這個 PHP 程式碼返回一個以整個單詞結尾的子字元串(IE 用空格分隔):
if ( strlen( $body ) < $maxlength ) return $body; $body = substr( $body , 0 , $maxlength ); $rpos = strrpos( $body , ' ' ); if ( $rpos > 0 ) $body = substr( $body , 0 , $rpos ); return $body;
是否可以使用 pgsql 的字元串操作函式來實現相同的結果?
像這樣的東西應該可以工作(這裡 15 相當於
$maxlength
):SELECT CASE WHEN LENGTH(mycolumn) <= 15 THEN mycolumn ELSE SUBSTRING(mycolumn, 0, 15 + 1 - POSITION(' ' IN REVERSE(SUBSTRING(mycolumn, 0, 15 + 1)))) END FROM mytable
這是一個工作展示。