-
2020-05-10 14:55:05
由于oracle 和mysql 的语法差异,所以其函数也不同,其中针对不同的字符编码处理方式也不一样
ORACLE下取长度:
lengthb(str)计算字符串所有的字节长度:返回字符串的长度,单位是字节
select lengthb('测试') FROM DUAL; -- 4(GBK)/6(UTF-8)
length(str)计算字符串所有的字符长度:返回字符串的长度,单位是字符
select length('测试') FROM DUAL; --2(GBK)/2(UTF-8)
其中
对于单字节字符,length和lengthb的长度是一样的:SELECT length('test') FROM DUAL; -- 4 SELECT lengthb('test') FROM DUAL; -- 4
MySQL下
- char_length 显示的字符个数;
- length 显示字符在当前编码下存储,所占的字节数。
- bit_length 显示字符在当前编码下存储,所占的位,也就是长度* 8
select char_length('测试'); -- 2(GBK)/2(UTF-8) select length('测试'); -- 4(GBK)/6(UTF-8) select bit_length('测试'); --32(GBK)/48(UTF-8)-8)
此外,可利用这些函数所得的长度值判断字符串含有中文字符
更多相关内容 -
oracle求字符串长度函数length()和hengthb()简介
2020-12-16 13:57:55length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单字节字符,LENGTHB和LENGTH是一样的. 如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。 注: 一个汉字在... -
js如何判断输入字符串长度
2020-11-22 15:35:28js判断输入字符串长度(汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。 废话不多说上代码: <html> <head> <title>js判断输入... -
javascript 判断中文字符长度的函数代码
2020-10-27 23:33:49在很多时候,我们在进行数据提交数据库时.先会用javascript对其进行有效性验证.如一个中文javascript为的length是1.但是数据库中会占二个字节.容易出错 -
oracle取字符串长度的函数length()和hengthb()
2021-04-30 08:35:44oracle取字符串长度的函数length()和hengthb()lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符对于单字节字符,...oracle取字符串长度的函数length()和hengthb()
lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节
length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符
对于单字节字符,LENGTHB和LENGTH是一样的.
如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。
select length('我') from dual --返回1
select lengthb('我') from dual --返回2
select length('AB') from dual --返回2
select lengthb('AB') from dual --返回2
(thismonth)转贴:http://space.itpub.net/161195/viewspace-613263
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ORACLE备份策略(ORACLE BACKUP STRATEGY)
2007年11月02日 星期五 16:03
概要
1、了解什么是备份
2、了解备份的重要性
3、理解数据库的两种运行方式
4、理解不同的备份方式及其区别
5、了解正确的备份策略及其好处
一、了解备份的重要性
可以说,从计算机系统出世的那天起,就有了备份这个概� ......
通过JAVA调用ORACLE的存储过程,在ORACLE的存储过程内部做了一个查询在JAVA中获取该查询结果,这个和SYBASE、SQLSERVER的获取不一样,等我的下一篇文章我会介绍如何获取SYBASE、SQLSERVER在存储过程中执行了查询后如何获取其结果及存储过程的编写。
在Oracle中需要返回查询结果集,必须将其以游标的形式返回,但游标又不是 ......
一、关于基础表
Oc_COJ^c680758
rd-A6z\&[1R1] H680758
Oracle
10G之前,启用AUTOTRACE功能需要手工创建plan_table表,创建脚本为$ORACLE_HOME/rdbms/admin
/utlxplan.sql。但在10g中,已经默认创建了PLAN_TABLE$的基表,并以public用户创建了相应的同义词PUBLIC。ITPUB个人空间DR#IlHrT
ITPUB� ......
语法:
substr( string, start_position, [ length ] )
取子字符串,从start_position开始,取length个,length为可选,如果length为空则返回start_position后的所有字符。
实例:
substr('This is a test', 6, 2) would return 'is'
&nbs ......
-
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2020-12-09 16:57:15大家都知道,在JS中字符串的长度不分中英文字符, 每一个字符都算一个长度,这跟PHP里的strlen()函数就不太一样。PHP里的strlen()函数根据字符集把GBK的中文每个2累加,把UTF-8的中文字符每个按3累加。 有些童鞋可能... -
达梦数据库常用函数——字符串函数
2021-02-22 13:26:40达梦数据库常用函数——字符串函数字符串函数函数 ASCII函数 BIT_LENGTH函数 CHAR函数 CHAR_LENGTH / CHARACTER_LENGTH函数 INITCAP函数 LCASE函数 LEN函数 LENGTH函数 REVERSE函数 UCASE函数 GREATEST函数 GREAT...达梦数据库常用函数——字符串函数
字符串函数一般接受字符类型(包括 CHAR 和 VARCHAR)和数值类型的参数,返回值一
般是字符类型或是数值类型。字符串函数
函数 ASCII
语法:ASCII(char)
功能:返回字符 char 对应的整数(ASSIC 值)。
例SELECT ASCII(‘B’) ,ASCII(‘中’);
查询结果为:66 54992函数 BIT_LENGTH
语法:BIT_LENGTH(char)
功能:返回字符串的位(bit)长度。
例SELECT BIT_LENGTH(‘ab’);
查询结果为:16函数 CHAR
语法:CHAR(n)
功能:返回整数 n 对应的字符。
例SELECT CHAR(66),CHAR(67),CHAR(68) , CHAR(54992);
查询结果为:B C D 中函数 CHAR_LENGTH / CHARACTER_LENGTH
语法:CHAR_LENGTH(char) 或 CHARACTER_LENGTH(char)
功能:返回字符串 char 的长度,以字符作为计算单位,一个汉字作为一个字符计算。
字符串尾部的空格也计数。
例
SELECT CHAR_LENGTH(‘我们’);
查询结果为:2函数 INITCAP
语法:INITCAP(char)
功能:返回句子字符串中,每一个单词的第一个字母改为大写,其他字母改为小写。单
词用空格分隔,不是字母的字符不受影响。
例SELECT INITCAP(‘hello world’);
查询结果为:Hello World函数 LCASE
语法:LCASE(char)
功能:返回字符串中,所有字母改为小写,不是字母的字符不受影响。
例SELECT LCASE(‘ABC’);
查询结果为:abc函数 LEN
语法:LEN(char)
功能:返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。
例SELECT LEN (‘hi,你好□□’);
查询结果为:5
说明:□表示空格字符函数 LENGTH
语法:LENGTH(char)
功能:返回给定字符串表达式的字符(而不是字节)个数,其中包含尾随空格。
例SELECT LENGTH(‘hi,你好□□’);
查询结果为:7
说明:□表示空格字符函数 REVERSE
语法:REVERSE(char)
功能:将输入字符串的字符顺序反转后返回。
例:SELECT REVERSE(‘abcd’);
查询结果:dcba函数 UCASE
语法:UCASE(char)
功能:返回字符串中,所有字母改为大写,不是字母的字符不受影响。
例SELECT UCASE(‘hello world’);
查询结果为:HELLO WORLD函数 GREATEST
语法:GREATEST(char 1, char 2, char 3)
功能:求 char 1、char 2 和 char 3 中最大的字符串。
例SELECT GREATEST(‘abb’,‘abd’, ‘abc’);
查询结果:abd函数 GREAT
语法:GREAT (char 1, char 2)
功能:求 char 1、char 2 中最大的字符串。
例SELECT GREAT (‘abb’,‘abd’);
查询结果:abd函数 EMPTY_BLOB
语法:EMPTY_BLOB return RVAL blob;
功能:初始化blob字段
返回值:RVAL:长度为0的blob数据 -
Oracle如何正确判断带中文的字符串长度
2021-05-08 19:15:58LENGTH4 uses UCS4 codepoints length函数返回字符的长度,它使用定义好的输入的字符集计算长度. lengthb使用bytes代替字符 VSIZE returns the number of bytes in the internal representation of expr. vsize ...The "length" functions return the length of char.
LENGTH calculates length using characters as defined by the input character set.
LENGTHB uses bytes instead of characters.
LENGTHC uses Unicode complete characters.
LENGTH2 uses UCS2 codepoints.
LENGTH4 uses UCS4 codepoints
length函数返回字符的长度,它使用定义好的输入的字符集计算长度.
lengthb使用bytes代替字符
VSIZE returns the number of bytes in the internal representation of expr.
vsize 返回内部表示的字节的数目。
internal representation of expr谁能解释一下。
看sql示例:
select length('adfad合理') "bytesLengthIs" from dual --7
select lengthb('adfad') "bytesLengthIs" from dual --5
select lengthb('adfad合理') "bytesLengthIs" from dual --11
select vsize('adfad合理') "bytesLengthIs" from dual --11
select lengthc('adfad合理')"bytesLengthIs" from dual --7
结论:
在utf-8的字符集下
lengthb=vsize
lengthc=length
疑问:中文字符怎么会占用了3个byte?而不是2个。是utf-8字符集的原因?
谁知道??????
参考文献:Oracle9i SQL Reference Release 2 (9.2)
..................................................
用String的getBytes方法测试了一下.
结论是utf-8的中文字符占用3个字节,gbk的中文字符占用2个字节,iso-8859-1的中文字符被识别为占用2个字节,iso不支持中文字符的编码,应该是都当成某个拉丁字母了.Oracle没有关系,oracle只是负责存储数据.
可以先用 select * from v$nls_parameters 看看oracle的字符集
下边是测试的java类:
import java.io.UnsupportedEncodingException;
public class TextEncoding {
/**
*
* @author:sunflower
* @date: 2007-1-24 上午10:09:40
* @todo: 调用的是String的自己的getBytes(encoding)方法,
* 使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中.
* @param content
* @param encode
* @return
*/
public static byte[] getBytes(String content,String charsetName)
throws UnsupportedEncodingException{
return content.getBytes(charsetName);
}
/**
*
* @author:sunflower
* @date: 2007-1-24 上午10:19:40
* @todo: 调用的是String的自己的getBytes()方法,
* 使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
* @param content
* @return
*/
public static byte[] getBytes(String content){
return content.getBytes();
}
public static void main(String[]args){
String content="1e宝宝";
byte[] len;
try{
len=getBytes(content,"UTF-8");
System.out.println(" the byte array length is "+len.length);
len=getBytes(content,"GBK");
System.out.println(" the byte array length is "+len.length);
len=getBytes(content,"ISO-8859-1");
System.out.println(" the byte array length is "+len.length);
}catch(Exception e){
System.out.println("Can 't recognize");
}
// System.out.println("the content byte[] length is "+);
}
}
输出 :
the byte array length is 8
the byte array length is 6
the byte array length is 4
-
详解MySQL字符串函数TRIM()、填充函数LPAD()、RPAD()、字符串长度LENGTH()用法(三)
2020-12-14 18:51:52文章目录一、删除空格函数TRIM()、LTRIM()、RTRIM()1、TRIM()2、LTRIM()3、RTRIM()二、填充函数LPAD()、RPAD()1、LPAD()2、RPAD()三、字符串长度LENGTH()、CHAR_LENGTH()1、LENGTH()2、CHAR_LENGTH() 前言:在实际的... -
sql函数计算,数据库字段的长度函数
2017-08-16 21:10:22面试问题: 商品表product,有字段 ‘productName’ 商品名,获取该字段信息中最长长度值,并展示该条数据? mysql: select * from product where char_length(productName) = (select max(char_length... -
MySQL 十大常用字符串函数
2021-07-08 00:49:46数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值。MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串函数,以及相... -
数据库中的字符串类型和 字符串函数
2020-10-26 15:54:382 字符串函数 2.1 输出结果: 2.2 连接字符串 2.2.1 在两个字段中间加 逗号 输出结果: 2.2.2 用 || 2.3 返回字符的长度(个数) 实例: 2.4 全部大写,小写,首字母大写的实现 2.4.1 伪表 字符串转换大写... -
oracle获取字符串长度函数length()和hengthb()
2017-03-22 11:03:39length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单字节字符,LENGTHB和LENGTH是一样的. 如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。 ... -
mysql获取字符串长度函数(CHAR_LENGTH)
2020-01-18 14:35:43length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()... -
Mysql数据库之字符串常用函数
2018-10-30 16:54:21字符串常用函数 函数 功能 concat(str1,str2,...... 将字符串str,从索引x开始,y个字符长度的子串替换为instr lower(str) 将str中的字符全转换为小写 upper(str) 将str中的字符全转换为大写 ... -
php判断输入不超过mysql的varchar字段的长度范围
2020-12-19 01:52:30但是如果在utf-8编码下,一个汉字是占3个字符长度的,比如字符串$str=”你好啊!!”; 如果你用strlen函数来判断,长度是11,正好超过了varchar的长度,但实际上确不是这样,如果直接到phpmyadmin里面执行insert语句,... -
SQL固定长度字符和可变长度字符
2021-10-31 15:46:341) 定义: char: 固定长度,存储ANSI字符,不足的补英文半角空格。 nchar: 固定长度,存储Unicode字符,不足的补英文半角空格 varchar: 可变长度,存储ANSI字符,根据数据长度自动...所输入的数据字符长度可以为零 -
数据库SQl语言最常用的字符串函数
2015-11-27 23:27:03在Oracle,SQL Srever ,Mysql等主流数据库中最常用的字符串函数: 一.substr函数: 取得字符串中指定起始位置和长度的字符串默认是从起始位置到结束的子串。 substr( string,start_position,[length]) substr('... -
Hive 字符串函数
2017-11-06 20:16:55Hive内部提供了很多操作字符串的相关函数,本文将对其中部分常用的函数进行介绍。 下表为Hive内置的字符串函数,具体的用法可以参见本文的下半部分。 返回类型 函数名 描述 int ... -
SQL-截取字符串函数
2021-12-07 21:25:00截取字符串常用到以下3个函数 -
excel函数应用练习---判断字符串长度,去掉字符串里的空格,全角句号替换为小数点
2017-02-13 12:02:18问题来源:https://zhidao.baidu.com/question/69063348.html问题描述:给定一个字符... 这个字符串,判断其字符个数。解: 利用len(T)和lenb(T)函数求出结果如下: 显然可以看出 1、两个函数均统计了空格 2、len(T -
sqlserver数据库中,length函数计算字符串长度错误,最后一位空格无法计算,空字符串无法正确计算长度,...
2021-07-20 11:42:55今天工作中遇到了一个小问题,在sqlserver数据库的length函数计算字符串长度的时候,计算结果错误 select length(‘abc ’) 正确结果应该是4,但是结果是3,末尾空格并未计算入内,其实解决方法很简单: select ... -
【转】Oracle中如何取一个字段的定义长度
2021-05-07 11:34:15该楼层疑似违规已被系统折叠隐藏...在Oracle中获取一个字符的长度的方法很简单,就是利用oracle自带的函数(length()或者lengthb()):如:sql> select length('silver bullet') from dual;结果:13但有时候,我们需... -
详解数据库_MySQL: mysql函数
2020-12-16 12:08:23char_length() 字符长度 ucase() 大写 lcase() 小写 concat(字符,…,字符n) 连接字符串 replace(字符串,旧字符,新字符)字符串替换 截取字符串 left(字符串,截取长度) right(字符串,截取长度) substring... -
C 二级 比较两个字符串的长度, (不得调用C语言提供的求字符串长度的函数), 函数返回较长的字符串。...
2021-05-11 20:38:27(不得调用C语言提供的求字符串长度的函数), 函数返回较长的字符串。 若两个字符串长度相同,则返回第一个字符串。 例如,输入bejjing <CR> shanghai <CR> (<CR>为回车键), 函数将返回shanghai. ... -
SQL Server 字符串根据指定字符拆分 自定义拆分字符串函数
2021-07-16 17:16:50微软SQL Server数据库中包含了很多内置的函数,入下图: 它们用于处理日期、数学、元数据、字符串等。 其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用。 但是对于 特殊字符串的... -
SQL 常用的字符串函数
2020-07-06 17:58:01SQL 常用的字符串函数 1.replace:替换函数 replace(string,from_str,to_str) 即:将string中所有出现的from_str替换为to_str 2.left: left:(string,2) 从边...5.substring:字符串,起始下标,长度 返回提取的字符串, -
oracle获取字符串长度函数length()和lengthb()
2019-08-03 07:53:32oracle获取字符串长度函数length()和lengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单... -
postgresql——字符串函数
2021-01-13 02:50:23字符串函数:postgresql中的字符串函数有:计算字符串长度函数、字符串合并函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等。1、计算字符串字符数和字符串长度的函数:char_length(str)和length...