标签: varchar2

PL/SQL和SQL中VARCHAR2的最大大小是多少?

我在Oracle 10g上.在一个要求中,我需要增加pl/sql varchar2变量的大小.它已经达到4000尺寸.我已经读过"在PL/SQL中,VARCHAR2可以达到32767字节.对于SQL,限制是4000字节"

我可以在不担心SQL限制的情况下增加此变量的大小吗?

sql oracle plsql varchar2

31
推荐指数
3
解决办法
17万
查看次数

定义VARCHAR2列的长度更大的影响

当值不超过10字节时VARCHAR2(1000),VARCHAR2(10)使用Oracle 而不是Oracle 定义列有什么影响?

该列是否仅占用存储值所需的空间,还是会对表空间/索引的大小/性能产生负面影响?

sql oracle varchar2

24
推荐指数
2
解决办法
2万
查看次数

Varchar2和char之间的主要区别是什么

创建表:

CREATE TABLE test (
charcol    CHAR(10),
varcharcol VARCHAR2(10));

SELECT LENGTH(charcol), LENGTH(varcharcol) FROM test;
Run Code Online (Sandbox Code Playgroud)

结果:

LENGTH(CHARCOL) LENGTH(VARCHARCOL)
--------------- ------------------
             10                  1 
Run Code Online (Sandbox Code Playgroud)

请告诉我Varchar2和char有什么区别?我们在什么时候同时使用?

sql oracle char varchar2

21
推荐指数
3
解决办法
7万
查看次数

Oracle和SQL Server中的NVARCHAR之间的区别?

我们正在将一些数据从sql server迁移到oracle.对于NVARCHAR在SQL Server中定义的NVARCHAR列,我们开始在Oracle中创建列,认为它们类似.但看起来它们不是.

我已经在stackoverflow上阅读了几篇帖子,并希望确认我的发现.

如果数据库字符集是AL32UTF8(在我们的情况下也是如此),Oracle VARCHAR2已经支持unicode.

SQLServer VARCHAR 支持unicode.SQLServer明确要求列在NCHAR/NVARCHAR类型中以unicode(特别是2字节UCS-2格式)存储数据.

因此,可以/应该将SQL Server NVARCHAR列迁移为Oracle VARCHAR2列是否正确?

database sql-server oracle nvarchar varchar2

18
推荐指数
1
解决办法
4万
查看次数

查找Oracle中不包含数字数据的行

我试图在一个非常大的Oracle表中找到一些有问题的记录.该列应包含所有数字数据,即使它是varchar2列.我需要找到不包含数字数据的记录(当我尝试在此列上调用它时,to_number(col_name)函数会引发错误).

sql oracle varchar numeric varchar2

17
推荐指数
3
解决办法
9万
查看次数

对Oracle存储过程的varchar2输入的默认大小是多少,是否可以更改?

我在Oracle数据库10g中有一个存储过程,我的输入是varchar2,但是当输入字符串很长时(我不确定精确长度可能> 8000),我遇到了问题.

我的想法是'intext varchar2'(如下所示)默认是太小了.在我需要更长字符串的其他情况下,我可能将varchar2定义为"intext2 VARCHAR2(32767);" 我尝试在下面的代码中类似地定义大小,但我的语法不正确.

create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2

) AS ....
Run Code Online (Sandbox Code Playgroud)

intext varchar2的(默认)大小是多少?

可以定义(增加)该大小吗?

谢谢

oracle stored-procedures varchar2

16
推荐指数
1
解决办法
4万
查看次数

为什么Oracle varchar2具有强制大小作为定义参数?

我想知道为什么Oracle需要在定义中使用size参数VARCHAR2.

我认为这是为了制约.oracle将此参数作为像NUMBERdataType 这样的可选项更好吗?

我经常在将旧表调整为更大的大小时遇到​​问题,因为有时值大于VARCHAR2列的大小定义.

定义一种类型的VARCHAR2(10或者是相同的VARCHAR2(1000).

我想,这是一个不必要的约束.如果没有,你知道这个约束导致一些有用的真实案例吗?为什么没有这种NUMBER类型的声明?

oracle varchar2

15
推荐指数
3
解决办法
3万
查看次数

如何更改dataype CLOB TO VARCHAR2(sql)

表:客户

ID      NAME             DATATYPE
NUMBER  VARCHAR2(100)    CLOB
Run Code Online (Sandbox Code Playgroud)

我想将DATA列更改CLOB为`VARCHAR2(1000)

我曾经尝试ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)

ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))

alter table customers  modify
(data VARCHAR2(4000))
Run Code Online (Sandbox Code Playgroud)

如果数据类型不是clob但通常是有效的,ORA-22859因为我使用的是oracle toad/apex.

sql oracle ddl clob varchar2

11
推荐指数
1
解决办法
2万
查看次数

Oracle的NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET之间的区别

我在这里有一个简单的问题,我想知道oracle中NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET设置之间的区别?

根据我的理解,NLS_NCHAR_CHARACTERSET用于NVARCHAR数据类型,NLS_CHARACTERSET用于VARCHAR2数据类型.

我试图在我的开发服务器上测试这个,我对CHARACTERSET的当前设置如下: -

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET         AL16UTF16
NLS_NUMERIC_CHARACTERS         .,
NLS_CHARACTERSET               US7ASCII
Run Code Online (Sandbox Code Playgroud)

然后我将一些中文字符值插入数据库.我将字符插入名为data_的表中,并更新了ADDRESS和ADDRESS_2列,这些列是VARCHAR2列.根据我对NLS_CHARACTERSET US7ASCII的当前设置的理解,不应该支持中文字符,但它仍然显示在数据库中?NLS_NCHAR_CHARACTERSET优先于此?

谢谢.

oracle ascii utf character-encoding varchar2

8
推荐指数
1
解决办法
2万
查看次数

尽管长度相同,ORA-12899的值对于色谱柱来说太大了

我正在运行以下查询.但得到ORA-12899.尝试插入的字符串的长度是30.

INSERT INTO TABLE1 SELECT * FROM temp_Table1 where LENGTH(column1)=30;

SQL Error: ORA-12899:value too large for column "TABLE1"."column1" (actual: 31, maximum: 30)


select column1 from temp_Table1 where LENGTH(column1)=30;

Testing  - HLC/TC Design Corre

Desc temp_Table1

column1 VARCHAR2(30)

Desc Table1

column1 VARCHAR2(30)
Run Code Online (Sandbox Code Playgroud)

sql oracle varchar varchar2

8
推荐指数
1
解决办法
2万
查看次数