select left(内容,20)from notepaper Order by id desc

解决方案 »

  1.   

    select substring(内容,1,20)from notepaper Order by id desc
      

  2.   

    select id,标题,内容=substring(内容,1,20)+'...',日期 from notepaper Order by id desc;
      

  3.   

    这个还不是易过借火,我不吸烟都有打火机:-) 我记得sql server存储中文其实用双字节,例如,如果你的字段是varchar(10),你插入中文,其实只可以插入5个中文,所以插入时候10个汉字只能插入5个,例子:
    create table R (sn varchar(10),des varchar(10))
    insert into R values('4','抹茶蛋糕好吃')--抹茶蛋糕好吃:10个汉字
    /*
    Server: Msg 8152, Level 16, State 9, Line 1
    String or binary data would be truncated.
    The statement has been terminated.
    */select * from R
    /*
    sn         des        
    ---------- ---------- (0 row(s) affected)
    */
    插入不成功insert into R values('4',left('抹茶蛋糕好吃',10))--也是同样插入不进去
    insert into R values('4',left('抹茶蛋糕好吃',5)) --这个就可以啊
    declare @str as varchar(20)
    set @str ='抹茶蛋糕好吃'
    set @str =  left(@str,(col_length('R','des') * len(@str)) /datalength(@str))
    insert into R values('4',@str)
    /*
    (1 row(s) affected)
    */select * from R
    /*
    sn         des        
    ---------- ---------- 
    4          抹茶蛋糕好 --插入了5个字符(1 row(s) affected)*/用substring,left,right取得时候一个中文字符认为长度是1,但是insert,update时候就要注意长度实际是2仅供参考~~
      

  4.   

    用select不支持substring之类的语句