问题标签 [varchar2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2872 浏览

oracle - PL/SQL - 删除 VARCHAR2 中的字符

(对不起我的英语......)我想知道我是否可以删除 varchar2 中的一个字符:

在最后一次迭代中,我想删除一个逗号,这可能吗?我知道我可以做一个while循环,但我仍然想保留for。

谢谢

0 投票
1 回答
429 浏览

oracle - Oracle JDB 瘦客户端 - 未使用 varchar2 的唯一索引

首先是一些基础知识。

Java 6 OJDBC6 Oracle 10.2.0.4(在 11g 版本中也是同样的结果)

我遇到一个 sql 语句在使用 OJDBC6 客户端从 Java 执行并使用可能使用本机/OCI 驱动程序的工具 SQL Gate 时表现不同。出于某种原因,优化器选择对 Java 中执行的语句使用散列连接,而不是其他语句。

这是表格:

指数:

这是我使用的 SQL:

最后是解释计划的摘录:

SQL 工具查询:

QQL Java 查询 OJDBC 瘦客户端:

所以,我不知道为什么优化器选择了哈希连接?我的猜测是 varchar2 的处理方式不同。

0 投票
1 回答
3372 浏览

database - Oracle中数字的可变大小数据类型

所以使用 VARCHAR2 优于 VARCHAR 的优点主要是 VARCHAR2 根据其长度在数据库中占用可变大小的空间;当插入的列值为空时,这尤其有效,因为在这种情况下几乎没有空间被占用。因此,出于同样的原因,是否存在一种行为方式相同的数字数据类型,以便当插入的数字为 null 时不会在 db 中浪费空间?

0 投票
3 回答
324 浏览

oracle11g - 处理数据库 VARCHAR2 列中的大字符串值

VARCHAR2(2000 CHAR)在数据库中定义了一个字段。通常,我们会遇到客户端输入超过 2000 个字符的问题,最终我们会错过记录。我不确定将字段设置为最大字符是否是解决此问题的最佳方法。

处理这种任意大文本输入的最佳方法是什么?

0 投票
1 回答
10335 浏览

oracle - Oracle varchar2 到 nvarchar2 的转换

如果我在 Oracle 中将现有列类型从 varchar2 更改为 nvarchar2,Oracle 会自动在字符集之间转换现有列数据,还是我应该自己做?

我使用的是 Oracle 11g,varchar2 字符集是 WE8MSWIN1252,nvarchar2 字符集是 AL16UTF16

0 投票
1 回答
6520 浏览

sql - Oracle CLOB 通过 DBLINK 到 varchar2

我必须将一个数据库迁移到另一个。我有一个 dblink 让它更容易。知道我尝试从表格中复制列注释和描述。问题是类型是 CLOB。在新数据库中,我使用 VARCHAR2。我使用了一种解决方法并创建了一个全局临时表。

现在我在表中有 52K 行

现在我想在新数据库中创建新表测试。

现在我尝试插入这些值:

问题是插入值需要很长时间。我开始了它,但在 30 分钟后它没有完成。

有没有一种快速的方法可以在 varchar2 中转换 clob 并将它们插入到其他 Oracle 数据库中的表中?

感谢帮助!

0 投票
2 回答
2725 浏览

java - pl/sql procedure returns 3 question marks ('???') for varchar2 columns (wls 10.3.4 - weblogic 11g)

I got the following code that works fine on OAS10, for fetching array of custom object from sql procedure:

and I have to migrate application to WLS 10.3.4. When I tried to execute existing code, I got an exception: cannot cast to oracle.sql.ARRAY. I found in WLS documentation:

For most extensions in the Oracle Thin driver, you can use the standard technique as described in Using API Extensions to JDBC Interfaces. However, the Oracle Thin driver does not provide public interfaces for its extension methods in the following classes:

oracle.sql.ARRAY
oracle.sql.STRUCT
oracle.sql.REF
oracle.sql.BLOB oracle.sql.CLOB

WebLogic Server provides its own interfaces to access the extension methods for those classes:

weblogic.jdbc.vendor.oracle.OracleArray weblogic.jdbc.vendor.oracle.OracleStruct weblogic.jdbc.vendor.oracle.OracleRef weblogic.jdbc.vendor.oracle.OracleThinBlob weblogic.jdbc.vendor.oracle.OracleThinClob

So, I followed the instructions and I got following code

and numeric attribute is mapped OK, but instead of varchar2 attribute, I have '???'. Does anyone have similar problem?

Thanks in advance.

edit: i found on few pages info that orai18n.jar should be added to server classpath. but it doesn't work for me.

0 投票
1 回答
113 浏览

mysql - MySql varchar 类型的性能

据我了解,如果您将列声明为varchar(15)or varchar(200),则内存大小没有区别。如果您存储 4 个字符的字符串,它应该只使用大约 4 个字节。这与 Oracle 中的 varchar2 相同。但是,对于 Oracle,它们的性能是不同的,因为您设置的大小越大,使用的开销就越多。

在 MySQL(或任何其他数据库)中是否相同?

0 投票
5 回答
727 浏览

sql - Oracle 10g SQL 排序 VARCHAR2

我在使用 oracle 10g 时遇到排序问题。不确定它是否特定于 10g。

我有下表:

执行泛型SELECT NAME FROM table_name ORDER BY 1会产生:

当这些部分的数字大于 9 时,我希望它能够正确排序,如下所示:

我有比这更多的数字条目,长度不同,许多部分的数字段大于 10。我试图在 order by 子句中弄乱 regexp_replace() 但没有运气。任何帮助将不胜感激。

0 投票
1 回答
889 浏览

oracle-call-interface - 使用 OTL (OCCI, OCI) 将二进制数据插入 Varchar2

如何使用 OTL 将可能是二进制的数据插入 Varchar2?(OCI/OCCI 当然可以)

背景:我们有很多 Varchar2 列,它们通常不是二进制的,但有一天可能会发生(我特别关心 \0 和 UTF-8)

星期二:我发布了这个相关问题: 如何在 Oracle Varchar2 中存储字节,并将 ASCII 视为文本