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个字节,是哪个方法??的主要内容,如果未能解决你的问题,请参考以下文章