sql nvarchar 对应oracle sqlcode 类型什么类型

DBA30问之CHAR(N),NCHAR(N),VARCHAR(N),NVARCHAR(N)四种类型之间的区别
DBA30问之CHAR(N),NCHAR(N),VARCHAR(N),NVARCHAR(N)四种类型之间的区别
CHAR(N),VARCHAR(N),NCHAR(N),NVARCHAR(N)是MSSQL的四种字符串数据类型,
都可以存储字符串但很多人都不清楚它们之间的区别,在选择字符
串类型的时候比较随意,很多时候造成了存储空间的浪费,那么它
们之间究竟有什么区别呢?
char [ ( n ) ]
固定长度字符数据类型,非Unicode 字符数据,长度为n 个字节。
n 的取值范围为 1至 8,000,存储大小是n 个字节。如果输入的
字符串长度不足N &则在右边用空格补足.
declare @str char(5)
set @str='ab'
select @str
select DATALENGTH(@str)
ab(三个空格)
----------------------
varchar [ ( n | max ) ]
可变长度的字符数据类型,非Unicode 字符数据。n的取值范围为
&1 至 8,000或者max,max指示最大存储大小是 2^31-1(2^31为的次方)个字节。
&存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。
declare @str varchar(5)
set @str='ab'
select @str
select DATALENGTH(@str)
ab(没有空格)
----------------------
如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。
如果在使用 CAST 和 CONVERT函数时未指定 n,则默认长度为 30。
将为使用 char或 varchar 的对象指派的默认排序规则,
除非使用 COLLATE子句指派了特定的排序规则。
该排序规则控制用于存储字符数据的代码页。
如果站点支持多语言,请考虑使用Unicode nchar 或 nvarchar 数据类型,
以最大限度地消除字符转换问题。如果使用char 或 varchar,建议执行以下操作:
如果列数据项的大小一致,则使用char。
如果列数据项的大小差异相当大,则使用varchar。
如果列数据项大小相差很大,而且大小可能超过 8,000字节,请使用 varchar(max)。
当执行 CREATETABLE 或 ALTER TABLE 时,如果SET ANSI_PADDING 为 OFF,则定义为NULL 的 char 列将作为 varchar处理。
当排序规则代码页使用双字节字符时,存储大小仍然为n 个字节。根据字符串的不同,n个字节的存储大小可能小于 n 个字符。
字符数据类型(nchar长度固定,nvarchar 长度可变)和 Unicode数据使用 UNICODE UCS-2字符集。
nchar [ ( n ) ]
n 个字符的固定长度的Unicode 字符数据。n值必须在 1 到 4,000之间(含)。
存储大小为两倍 n 字节。
declare @str1 nchar(5)
set @str1='ab'
select @str1
select DATALENGTH(@str1)
ab(三个空格)
---------------
declare @str2 nchar(5)
set @str2='我爱你刘桦'
select @str2
select DATALENGTH(@str2)
我爱你刘桦
------------------
nvarchar [ ( n | max ) ]
可变长度 Unicode 字符数据。n值在 1 到 4,000之间(含)。
max 指示最大存储大小为 2^31-1字节。存储大小是所输入字符个数的两倍+ 2 个字节。
所输入数据的长度可以为 0 个字符。
declare @str1 nvarchar(5)
set @str1='ab'
select @str1
select DATALENGTH(@str1)
ab(无空格)
---------------
declare @str2 nvarchar(5)
set @str2='我爱你刘桦'
select @str2
select DATALENGTH(@str2)
我爱你刘桦
------------------
如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用CAST 函数指定 n,则默认长度为 30。
如果列数据项的大小可能相同,请使用nchar。
如果列数据项的大小可能差异很大,请使用nvarchar。
sysname 是提供的用户定义数据类型,除了不可为空值外,
在功能上与 nvarchar(128)相同。sysname 用于引用数据库对象名。
为使用 nchar或 nvarchar 的对象分配的是默认的数据库排序规则,
但可使用 COLLATE子句分配特定的排序规则。
SET ANSI_PADDINGON 永远适用于 nchar 和 nvarchar。SETANSI_PADDINGOFF 不适用于 nchar 或nvarchar 数据类型。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'varchar和nvarchar有多少区别-MS-SQLServer/基础类-mssql-电脑编程网varchar和nvarchar有多少区别-MS-SQLServer/基础类作者:xg_delayth 和相关&&sql用的比较少,最近要建立表看到两种类型的字段varchar和nvarchar 不知道有什么区别,我应该用那种比较合适------回答---------------其他回答(25分)---------nvarchar包含 & n & 个字符的可变长度 & Unicode & 字符数据
一个Unicode字符占两个字节.
declare & @a & nvarchar(20) & --占两个40个字节
declare & @b & varchar(20) & --占两个20个字节
------其他回答(5分)---------varchar & 的存储大小为输入数据的实际字节长度,也不超过 & 8,000 & 个字节。
nvarchar(n)
包含 & n & 个字符的可变长度 & Unicode & 字符数据。n & 的值必须介于 & 1 & 与 & 4,000 & 之间。字节的存储大小是所输入字符个数的两倍。
------其他回答(25分)---------nvarchar(n)
包含 & n & 个字符的可变长度 & Unicode & 字符数据。n & 的值必须介于 & 1 & 与 & 4,000 & 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar & 在 & SQL-92 & 中的同义词为 & national & char & varying & 和 & national & character & varying。
如果没有在数据定义或变量声明语句中指定 & n,则默认长度为 & 1。如果没有使用 & CAST & 函数指定 & n,则默认长度为 & 30。
如果希望列中所有数据项的大小接近一致,则使用 & nchar。
如果希望列中数据项的大小差异很大,则使用 & nvarchar。
使用 & nchar & 或 & nvarchar & 的对象被赋予的默认排序规则,除非使用 & COLLATE & 子句赋予特定的排序规则。
SET & ANSI_PADDING & OFF & 不适用于 & nchar & 或 & nvarchar。SET & ANSI_PADDING & ON & 永远适用于 & nchar & 和 & nvarchar。
varchar[(n)]
长度为 & n & 个字节的可变长度且非 & Unicode & 的字符数据。n & 必须是一个介于 & 1 & 和 & 8,000 & 之间的数值。存储大小为输入数据的字节的实际长度,而不是 & n & 个字节。所输入的数据字符长度可以为零。varchar & 在 & SQL-92 & 中的同义词为 & char & varying & 或 & character & varying。
如果没有在数据定义或变量声明语句中指定 & n,则默认长度为 & 1。如果没有使用 & CAST & 函数指定 & n,则默认长度为 & 30。
将为使用 & char & 或 & varchar & 的对象被指派数据库的默认排序规则,除非用 & COLLATE & 子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。
支持多语言的站点应考虑使用 & Unicode & nchar & 或 & nvarchar & 数据类型以尽量减少字符转换问题。如果使用 & char & 或 & varchar: &
如果希望列中的数据值大小接近一致,请使用 & char。
如果希望列中的数据值大小显著不同,请使用 & varchar。 &
如果执行 & CREATE & TABLE & 或 & ALTER & TABLE & 时 & SET & ANSI_PADDING & 为 & OFF,则一个定义为 & NULL & 的 & char & 列将被作为 & varchar & 处理。 &
当排序规则代码页使用双字节字符时,存储大小仍然为 & n & 个字节。根据字符串的不同,n & 个字节的存储大小可能小于 & n & 个字符。
------------------------------------------------------------------------------
该问题已经结贴 & ,得分记录: & janssenkm(100)、
------------------------------------------------------------------------------------其他回答(5分)---------varchar[(n)]
长度为 & n & 个字节的可变长度且非 & Unicode & 的字符数据。n & 必须是一个介于 & 1 & 和 & 8,000 & 之间的数值。存储大小为输入数据的字节的实际长度,而不是 & n & 个字节。所输入的数据字符长度可以为零。varchar & 在 & SQL-92 & 中的同义词为 & char & varying & 或 & character & varying。
nvarchar(n)
包含 & n & 个字符的可变长度 & Unicode & 字符数据。n & 的值必须介于 & 1 & 与 & 4,000 & 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar & 在 & SQL-92 & 中的同义词为 & national & char & varying & 和 & national & character & varying。
相关资料:|||||||varchar和nvarchar有多少区别-MS-SQLServer/基础类来源网络,如有侵权请告知,即处理!编程Tags:                &                    oracle数据类型和对应的java类型
oracle数据类型和对应的java类型
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm#BHCJBJCC
SQL数据类型
JDBC类型代码
标准的Java类型
Oracle扩展的Java类型
1.0标准的JDBC类型:
java.sql.Types.CHAR
java.lang.String
oracle.sql.CHAR
java.sql.Types.VARCHAR
java.lang.String
oracle.sql.CHAR
java.sql.Types.LONGVARCHAR
java.lang.String
oracle.sql.CHAR
java.sql.Types.NUMERIC
java.math.BigDecimal
oracle.sql.NUMBER
java.sql.Types.DECIMAL
java.math.BigDecimal
oracle.sql.NUMBER
java.sql.Types.BIT
oracle.sql.NUMBER
java.sql.Types.TINYINT
oracle.sql.NUMBER
java.sql.Types.SMALLINT
oracle.sql.NUMBER
java.sql.Types.INTEGER
oracle.sql.NUMBER
java.sql.Types.BIGINT
oracle.sql.NUMBER
java.sql.Types.REAL
oracle.sql.NUMBER
java.sql.Types.FLOAT
oracle.sql.NUMBER
java.sql.Types.DOUBLE
oracle.sql.NUMBER
java.sql.Types.BINARY
oracle.sql.RAW
java.sql.Types.VARBINARY
oracle.sql.RAW
java.sql.Types.LONGVARBINARY
oracle.sql.RAW
java.sql.Types.DATE
java.sql.Date
oracle.sql.DATE
java.sql.Types.TIME
java.sql.Time
oracle.sql.DATE
java.sql.Types.TIMESTAMP
javal.sql.Timestamp
oracle.sql.TIMESTAMP
2.0标准的JDBC类型:
java.sql.Types.BLOB
java.sql.Blob
oracle.sql.BLOB
java.sql.Types.CLOB
java.sql.Clob
oracle.sql.CLOB
用户定义的对象
java.sql.Types.STRUCT
java.sql.Struct
oracle.sql.STRUCT
用户定义的参考
java.sql.Types.REF
java.sql.Ref
oracle.sql.REF
用户定义的集合
java.sql.Types.ARRAY
java.sql.Array
oracle.sql.ARRAY
Oracle扩展:
oracle.jdbc.OracleTypes.BFILE
oracle.sql.BFILE
oracle.jdbc.OracleTypes.ROWID
oracle.sql.ROWID
REF CURSOR
oracle.jdbc.OracleTypes.CURSOR
java.sql.ResultSet
oracle.jdbc.OracleResultSet
oracle.jdbc.OracleTypes.TIMESTAMP
java.sql.Timestamp
oracle.sql.TIMESTAMP
TIMESTAMP WITH TIME ZONE
oracle.jdbc.OracleTypes.TIMESTAMPTZ
java.sql.Timestamp
oracle.sql.TIMESTAMPTZ
TIMESTAMP WITH LOCAL TIME ZONE
oracle.jdbc.OracleTypes.TIMESTAMPLTZ
java.sql.Timestamp
oracle.sql.TIMESTAMPLTZ
发表评论:
TA的最新馆藏您所在的位置: &
Oracle字符的5种类型的介绍
Oracle字符的5种类型的介绍
我们今天主要介绍的是Oracle字符的5类型的实际应用以及其相关的特点的介绍,以下就是相关内容的具体描述,希望你会有守收获。
你是否对字符的类型有所了解?今天我们就对其进行归纳,其主要有CHAR、NCHAR、LONG、以及VARCHAR2(VARCHAR)、和NVARCHAR2几种Oracle字符类型。以下的文章就是对这几种类型的详细介绍。
CHAR,描述定长的Oracle字符串,如果实际值不够定义的长度,系统将以空格填充。它的声明方式如下CHAR(L),L为Oracle字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。
VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值,作为变量最大32767个字节,作为数据存储在ORACLE8中最大为4000。在多字节语言环境中,实际存储的Oracle字符个数可能小于L值。
例如:当语言环境为中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列可以保存200个英文字符或者100个汉字字符。
LONG,在数据库存储中可以用来保存高达2G的数据,作为变量,可以表示一个最大长度为32760字节的可变字符串。
NCHAR、NVARCHAR2,国家Oracle字符集,与环境变量NLS指定的语言集密切相关,使用方法和CHAR、VARCHAR2相同。
(varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar。因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变,推荐用varchar2。)
(CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;NCHAR根据所选Oracle字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)。同理VARCHAR2与NVARCHAR2的区别。)
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
Oracle是一个面向Internet计算环境的数据库。它是在数据库领域一
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
讲师: 8人学习过讲师: 28人学习过讲师: 18人学习过
MariaDB是一个向后兼容、替代MySQL的数据库服务器。它
暮春三月,京师草长,杂花生树,群莺乱飞。ChinaHadoo
MySQL 5.6.10已经发布,Oracle将其称之为MySQL 5.6正
本书提供了.NET框架下C#编程的详尽指南。书中详细介绍了.NET框架中的核心概念、使用GDI+编写高级用户界面、多线程程序设计、使
51CTO旗下网站ORACLE中nvarchar2和varchar2两种数据类型的区别 - Oracle教程 - 编程入门网
ORACLE中nvarchar2和varchar2两种数据类型的区别
Oracle中nvarchar2和varchar2的区别:
1、NVARCHAR2中存储中文字时,一个中文字当一个字符来处理
NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。
2、而VARCHAR2中一个中文字当两个字符来处理
VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个
Oracle中nvarchar2和varchar2的共同点:
不定长存储,当存储信息长度小于指定的长度,那么就已实际存入的长度为准这一点不像varchar这种定长存储那样浪费空间,比如varchar 指定是10个字符,那么存入5个字符的时候,他会自动填充空格来补齐以达到指定的长度}

我要回帖

更多关于 oracle sqlcode 类型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信