用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+"...";
}