39得票3回答
在PostgreSQL 8.4中,如何将bytea转换为文本值?

在我的应用程序中,我使用C代码将数据插入数据库,因为我从不可信的来源接收到的字符串,我使用libpq库的PQescapeByteaConn函数对它们进行了转义。这个方法运行得非常好,即结果是八进制格式的字符串。请看下面的例子, 输入字符串:\n\t\f\b\p\k\j\l\mestPrepa...

18得票3回答
将以逗号作为小数分隔符的字符串数值转换为NUMERIC(10, 2)。

我有一个包含希腊格式化数字的 SQL 表格,它使用点作为千位分隔符,逗号作为小数分隔符。 经典转换方法: CONVERT(numeric(10,2),REPLACE([value],',','.')) 不能工作,因為千位分隔符(.)會影響轉換。 例如,嘗試一下 CONVERT(nu...

13得票2回答
帖子的喜欢或投票

我正在制作一个小程序,用户可以发布帖子或写博客。其他用户可以像在Facebook上一样喜欢或不喜欢帖子,也可以像在Stackoverflow上一样点赞或踩帖子。我想知道一个常用的数据库结构,以及该结构能够使程序高效运行。我有两个选项。 第一个选项: 帖子: id head mes...

13得票4回答
查找是否有任何行部分匹配一个字符串

我想要查看一个表格是否包含给定字符串的任何子字符串。 假设我有一个字符串 somedomain.com 在数据库中,我有以下内容: blabladomain.com testdomain.com domain.com 我需要进行一个查询,以便返回"domain.com",因为它...

13得票2回答
有没有一种高效的方法可以查看“字符串或二进制数据将被截断”的原因?

这是对这个问题的后续。它也与微软的功能请求相关。 然而,自从报告以来,已经过去了许多年,并且市场上推出了几个重大版本。 问题:SQL Server 2017是否提供了任何机制来方便查找此错误的根本原因?还是像9年前报告问题时一样难以调查?

12得票2回答
在PostgreSQL中的条件字符串拼接

我有一个名为parcels的表,目前包含列owner_addr1、owner_addr2和owner_addr3。有时,后两个字段中的一个或两个可能为空。我想将它们合并成一个新的字段owner_addr,其中每个字段之间用//连接。 但是,如果原始列中有一个或多个为NULL,我不想在结果列中...

11得票2回答
SQL Server - NTEXT列和字符串操作 在SQL Server中,NTEXT是一种用于存储大量文本数据的数据类型。它可以存储最多2^30-1个字符(或者说是1,073,741,823个字符)。然而,由于其存储方式的特殊性,对NTEXT列进行字符串操作可能会有一些限制。 首先,由于NTEXT列存储的是Unicode字符,所以在进行字符串操作时需要注意编码的兼容性。确保使用正确的编码函数和操作符来处理NTEXT列中的字符串。 其次,由于NTEXT列的存储方式不同于普通的VARCHAR或NVARCHAR列,因此在进行字符串操作时需要使用专门针对NTEXT列的函数和操作符。例如,要获取NTEXT列中的子字符串,可以使用SUBSTRING函数,并指定起始位置和长度。 另外,由于NTEXT列的存储方式较为复杂,对其进行索引和排序可能会有一些性能上的影响。如果需要频繁进行字符串操作的话,建议将NTEXT列转换为NVARCHAR(MAX)类型,以便更好地支持字符串操作和索引。 总之,在SQL Server中使用NTEXT列时,需要注意其特殊性和限制。确保使用正确的编码函数和操作符,并根据具体需求选择合适的数据类型来优化性能。

我有一张表,其中有一个名为“comments”的NTEXT列。我有一个第二个字符串,我们称之为anothercomment(一个varchar),需要将其放置在给定的comments字符串中的UPDATEHERE单词之后。 将其转换为nvarchar(max)会截断comments字符串,所...

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

这个问题一直困扰着我。在基于SQL的服务器中,字符串函数似乎总是从位置1开始(至少对于MySQL、SQL Server、Oracle和Postgres来说是这样)。例如,以下查询将用于选择名为first_name的列中的第一个字母。 SELECT SUBSTRING(first_name,1...

8得票2回答
在一个存储过程中,当varchar(MAX)文本超过8000个字符时会被截断。

我有一个过程,在其中声明了一个数据类型为varchar(MAX)的变量。 declare @str varchar(MAX); set @str='select * from Table1...' print (@str); exec (@str); 但是当@str内的文本超过800...

7得票3回答
T-SQL - 如何将(以字符分隔的)字符串拆分为行和列

什么是将以字符分隔的字符串拆分为行和列的最佳方法? 这是我的输入字符串: !1;100;10;200;0;500;2;1000;30!2;100;3;500;1;2000;5 这是我想要的输出表格: Id Value Count 1 100 10 1 200 ...