sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个方法??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个方法??相关的知识,希望对你有一定的参考价值。

sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个函数??

len() 返回的是长度,那什么函数返回的是字节啊 SQL语法啊

没有标准函数的,只能自己写一个

create function fn_TruncSemiHanzi(@str varchar(4000))
returns varchar(8000)
as
begin
declare
@sTmp varchar(8000),@i int,@itmp int,@itmp2 int ,@stmp2 varchar(2)
select @sTmp=''
select @i=1
while @i<=len(@str)
begin
select @itmp=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),1,1)) --截取一个字节
if @itmp>127
begin
--大于127检查后面一个字节

select @itmp2=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),2,1))
if @itmp2>127
begin
select @stmp2=char(@itmp)+char(@itmp2) --是一个完整的汉字
end
else
begin
select @stmp2=char(@itmp2) --丢弃半个汉字
end
end
else
begin
select @sTmp2=char(@itmp)
end
select @sTmp=@sTmp+@stmp2
select @i=@i+1
end
return @stmp
end
参考技术A alter table table_name modify 某字段 varchar2(60));

----------oracle对列的操作------------
1.增加列

ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);

例如:

SQL>ALTER TABLE emp01 ADD eno NUMBER(4);

2.修改列定义

例如:

SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15)

2 DEFAULT 'CLERK'

3.删除列

例如:

SQL> ALTER TABLE emp01 DROP COLUMN dno;

4.修改列名

例如:

SQL>ALTER TABLE emp01 RENAME COLUMN eno TO empno;

5.修改表名

例如:

SQL>RENAME emp01 TO employee;

6.增加注释

例如:

SQL>COMMENT ON TABLE employee IS '存放雇员信息';

SQL>COMMENT ON TABLE employee.name IS '描述雇员姓名';
参考技术B select substring(字段名,1,2) from 表名

其中1是起始位置,2是长度
参考技术C len()返回的长度就是字节数,如:Len( 参考技术D 字符数:
char_length

character_length
字节数:
octet_length
二进制位数:
bit_length
中间的空格也是字符, 是合理合法而且有作用的, 也会计算在内. 如果你自己非得去. 我好像只知道查询出来再自己处理这一个法子了. SQL语句好像没这个功能.本回答被提问者和网友采纳

mysql varchar定义长度多少为好

MySQL的varchar定义长度到底是字节
varchar存储规则:
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节
Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。
参考技术A mysql表中字段总长度可以有65535个字节,意思就是 如果一个表只有varchar(n)这么一个字段,而且是utf8的话,那么这个字段最大可以有65535个字节的长度,差不多n=65585/3的字符。
为什么说差不多。因为varchar在存储的时候,会另加一个字节来记录长度(如果列声明的长度超过255字节,则使用两个字节,刚好2的8次方是255,超过255就只能用2个字节16位来记录了)。
如果表中有个char(10)和varchar(n)的话,那么就就这样,n的最大值=65535-10*3,我是

以上是关于sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个方法??的主要内容,如果未能解决你的问题,请参考以下文章

mysql中text可以存储多少个字

mysql中text可以存储多少个字

mysql中text可以存储多少个字

数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省空间?

c# 处理某些占4个字节的汉字问题

sql语句中查询名字是三个字的语句怎么写