日期:2014-05-20  浏览次数:21197 次

用SQL语句怎么实现中英文混合的字符串的截取?
用SQL语句怎么实现中英文混合的字符串的截取? 
如用户名:可能是汉字,可能是英文,可能是汉字和英文混合 
如何实现截取该用户名的前10个字符?【一个汉字是两个字符】 
这个用一条SQL语句怎么实现??

------解决方案--------------------
C#
 public static string InterceptString(string stringToSub, int length)
{

char[] stringChar = stringToSub.Trim().ToCharArray();
if (Encoding.Default.GetByteCount(stringToSub) <= length) return stringToSub; //长度不足直接返回
StringBuilder sb = new StringBuilder();
int nLength = 0;
for (int i = 0; i < stringChar.Length; i++)
{
if (stringChar[i] > 127)
{
nLength++;
}

nLength++;

if (nLength <= length)
{
sb.Append(stringChar[i]);
}
else
{
break;
}
}//for
return sb+"...";
}