如何使:Len('汉字')=4?

djiang 2002-03-10 04:05:26
大家都知道:在SQL SERVER中,Len('汉字')=2
现在我想使Len('汉字')返回4,该如何做呢?
...全文
88 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
supsuccess 2002-03-11
  • 打赏
  • 举报
回复
2000如果选英文,不一样!
CSDNM 2002-03-11
  • 打赏
  • 举报
回复
to:supsuccess(口气不小)
我用的6.5,选的缺省安装(不知道具体字符集是什么,可能是英文的),可以放中文信息,但从表里查select len(col) from table where ...或者从变量select len(@c) 或者直接 select LEN('汉字'),汉字都是以两个字节计算的。

我不知道 djiang () 的SQL SERVER版本,我想2000如果选英文的话,应该和6.5一样,就是不知道能不能放中文,呵呵!
supsuccess 2002-03-11
  • 打赏
  • 举报
回复
To CSDNM(CSDN管理员(假的) :
“选择合适的字符集也可以使LEN('汉字')=4 ”??
不妨举个例子...
CSDNM 2002-03-11
  • 打赏
  • 举报
回复
另外,选择合适的字符集也可以使LEN('汉字')=4
CSDNM 2002-03-11
  • 打赏
  • 举报
回复
6.5也有DATALENGTH函数
DATALENGTH ('expression')
The actual length of an expression of any datatype. Because varchar, varbinary, text, and image datatypes can store variable-length data, DATALENGTH is especially useful with those datatypes. The DATALENGTH of any null data returns NULL. For all other datatypes, DATALENGTH reports their defined length (because NON NULL fixed-width character data is always right-padded with spaces).
supsuccess 2002-03-11
  • 打赏
  • 举报
回复
:)
djiang 2002-03-11
  • 打赏
  • 举报
回复
我测试了一下,supsuccess(口气不小) 的做法是正确的,
在SQL7上也可以。

谢谢大家!
supsuccess 2002-03-10
  • 打赏
  • 举报
回复
MSSQLSERVER2000:
declare @ll int
select @ll=datalength('汉字')
select @ll
warning 2002-03-10
  • 打赏
  • 举报
回复
可能别人知道吧
我是不知道了
djiang 2002-03-10
  • 打赏
  • 举报
回复
要达到我的目的,就没有办法了吗?
warning 2002-03-10
  • 打赏
  • 举报
回复
LEN
返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。

如果使用len函数的话,只能返回字符的个数,不能返回字节数
djiang 2002-03-10
  • 打赏
  • 举报
回复
可能是我没说清楚,
设有一个字串:DECLARE @S VARCHAR(240)

SET @S= 'AAAA汉字 ... '

求:Len(@S) = ?

其中,要求1个汉字的宽度为2
warning 2002-03-10
  • 打赏
  • 举报
回复
len('汉字')*2

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧