标签: string

使用连接字符串从命令行连接到 sql plus

假设我有一个 Oracle 数据库。我有一个用户名 = x,密码 = y,数据库 = z。我也知道端口 = a,SID = b,主机名 = c。

那么我需要如何正确连接呢?我使用了许多选项,例如:

sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'

sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
Run Code Online (Sandbox Code Playgroud)

提交这些命令行通常会给我返回错误消息,例如:

ORA-12560:TNS:协议适配器错误
ORA-12514:TNS:侦听器当前不知道服务

提前谢谢了!!

oracle sqlplus string

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

使用 PostgreSQL 8.4,如何在 postgres 中将 bytea 转换为文本值?

在我的应用程序中,我使用 C 代码在数据库中插入数据,因为我从不受信任的来源收到的字符串我已经使用PQescapeByteaConnlibpq 库对它们进行了转义。哪个工作得很好,即结果为八位字节格式字符串。看下面的例子,

输入字符串: \n\t\f\b\p\k\j\l\mestPrepared

输出字符串: \\012\\011\\014\\010pkjlmestPrepared

输出字符串被插入到数据库中。现在,我使用 JDBC 从 Java 代码中的数据库中检索该数据。如何将字符串转义回其原始值?

我想到了两种可能的方法,

  1. 更改数据库检索查询并将此字段传递给 postgres 的任何字符串操作函数,即可以将 bytea 转换为文本。
  2. 在Java代码中进行解码。

我可以理解方法 1 会更有效。我已经尝试了这里列出的几乎所有功能但没有任何效果。请帮忙!!

我在 linux 机器上使用 8.4 版的 postgres。

postgresql encoding postgresql-8.4 string bytea

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

将逗号作为小数点分隔符的字符串数值转换为 NUMERIC(10, 2)

我有一个包含希腊格式数字的 varchar 列的 SQL 表(。作为千位分隔符,逗号作为小数点分隔符)

经典的转换

CONVERT(numeric(10,2),REPLACE([value],',','.'))
Run Code Online (Sandbox Code Playgroud)

不起作用,因为 . (千位分隔符)杀死转换

例如尝试

CONVERT(numeric(10,2),REPLACE('7.000,45',',','.'))
Run Code Online (Sandbox Code Playgroud)

我想将这些值转换为数字(10,2)

有关如何处理的任何建议?

sql-server t-sql type-conversion decimal string

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

有没有一种有效的方法来查看“字符串或二进制数据将被截断”的原因?

这是对这个问题的跟进。这也与微软的这个功能请求有关。

然而,许多年过去了,自从它被报道以来,有几个主要版本进入了市场。

问题: SQL Server 2017 是否提供任何机制来轻松找出此错误的根本原因?还是像大约 9 年前报告该问题时一样难以调查?

sql-server string sql-server-2017

13
推荐指数
1
解决办法
1788
查看次数

喜欢或投票的帖子

我正在制作一个小程序,用户可以在其中发表帖子或写博客。在这些帖子上,其他用户可以像在 facebook 中一样喜欢或不喜欢帖子,也可以像在 stackoverflow 中一样对帖子投赞成票或反对票。我想知道一个常用的良好数据库结构,并且该程序可以有效地使用该结构。我有两个选择

第一的

邮政:

id   head   message   datepost   likes   dislikes
1     ab    anchdg     DATE      1,2,3   7,55,44,3
Run Code Online (Sandbox Code Playgroud)

上面的方式,id就是postid。在likes 列中,1,2,3是喜欢或upvoted 帖子或博客的用户的ID。7,55,44,3是不喜欢或贬低帖子或博客的用户的 ID。

第二

邮政:

id    head  message   datepost
1     ab    anchdg     DATE
Run Code Online (Sandbox Code Playgroud)

喜欢:

id    postid    userid
1       1         1
2       2         2
Run Code Online (Sandbox Code Playgroud)

不喜欢:

id    postid    userid
1       1         7
2       1         55
Run Code Online (Sandbox Code Playgroud)

这样,我必须为喜欢和不喜欢创建两个单独的表才能获得帖子的喜欢。这样,表 ie Likes&Dislikes将被大量填满。这可能会使表格变重且处理速度变慢。

所以,我想知道哪种更好和标准的方法来完成这项任务?

mysql normalization database-design string

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

SQL Server - NTEXT 列和字符串操作

我有一个表,其中有一NTEXT列名为comments. 我有第二个字符串,我们称之为anothercomment(a varchar),它需要放在comments单词 之后的给定字符串中UPDATEHERE

强制转换会nvarchar(max)截断comments字符串,因此我不能使用CHARINDEX()( Msg 8152, Level 16, State 10, Line 2 String or binary data would be truncated.)。我曾经datalength()检查过是否有几千列 > 8000 个字符。

我想要实现的示例(尽管字符串更长):

注释 - This is a test UPDATEHERE This is the end of the test

另一个评论—— . This is inserted.

结果字符串 - This is a test UPDATEHERE. This is inserted. This is the end of the test …

sql-server sql-server-2008-r2 string

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

查找是否有任何行部分匹配字符串

我想查看一个表是否包含给定字符串的任何子字符串。

假设我有一个字符串

somedomain.com 
Run Code Online (Sandbox Code Playgroud)

在数据库中我有:

blabladomain.com
testdomain.com
domain.com
Run Code Online (Sandbox Code Playgroud)

我需要进行一个查询,该查询将返回“domain.com”,因为它是“somedomain.com”的子字符串。

我不知道这在 MySQL 中是否可行。

CREATE TABLE `site_core_antispam_banned_domain` (
`domain_id` int(11) NOT NULL AUTO_INCREMENT,
`domain_name` varchar(255) NOT NULL,
PRIMARY KEY (`domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

mysql string string-searching

9
推荐指数
1
解决办法
6万
查看次数

为什么基于 SQL 的数据库服务器上的字符串函数从位置 1 而不是 0 开始?

这一直困扰着我。基于 SQL 的服务器中的字符串函数似乎总是从位置 1 开始(至少 MySQL、SQL Server、Oracle 和 Postgres 是这种情况)。例如,以下查询将用于选择名称数据库中名为 first_name 的列的第一个字母:

SELECT SUBSTRING(first_name,1,1) FROM names;
Run Code Online (Sandbox Code Playgroud)

为什么字符串函数的位置不像几乎所有编程语言的规范那样从 0 开始?

我正在寻找的不仅仅是 ANSI 标准。为什么是标准?

编辑:好的,所以 0 不是“几乎所有编程语言中的规范”,正如下面所指出的。1 也被使用。

functions string substring

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

PostgreSQL 中的条件字符串连接

我有一个parcels当前包含列owner_addr1, owner_addr2,的表owner_addr3。有时,后两个字段中的一个或两个字段为空。我想将它们组合成一个新的字段,owner_addr上面的每个字段//都在它们之间连接。

但是如果一个或多个原始列是 NULL,我不想连接//到结果列。因此,举例来说,如果owner_addr1123 4th Avenue SEowner_addr2owner_addr3NULL,然后我想要的结果列只是123 4th Avenue SE,没有123 4th Avenue SE // //(如果我只是做了这会发生CONCAT()//空字符串之间......我只是想添加//非之间的NULL列,或将其如果只有一个非NULL列,则完全退出。

有没有一种简单的方法可以在 Postgresql 中进行这种条件连接,它会遗漏空行?或者我应该写一个python脚本来做到这一点?

postgresql null condition string concat

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

T-SQL - 如何将(字符分隔)字符串拆分为行和列

将字符分隔的字符串拆分为行和列的最佳方法是什么?

这是我的输入字符串:

!1;100;10;200;0;500;2;1000;30!2;100;3;500;1;2000;5
Run Code Online (Sandbox Code Playgroud)

这是我想要的输出表:

Id  Value  Count
1   100    10
1   200    0
1   500    2
1   1000   30
2   100    3
2   500    1
2   2000   5
Run Code Online (Sandbox Code Playgroud)

此致,

t-sql string

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