Tag: sql

MySQL中的这个操作符是什么?

我正在编写由以前的开发人员编写的代码,并在查询中说, WHERE p.name <=> NULL 这个查询中<=>是什么意思? 这是否等于= ? 或者是一个语法错误? 但没有显示任何错误或例外。 我已经知道在MySQL中<> = !=

在SQL Server中限制10..20

我正在尝试做类似的事情: SELECT * FROM table LIMIT 10,20 要么 SELECT * FROM table LIMIT 10 OFFSET 10 但使用SQL Server 我发现的唯一的解决scheme看起来像过度杀伤: SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases ) a WHERE row > 5 and row <= 10 我还发现 : SELECT TOP 10 * FROM stuff; …但这不是我想要做的,因为我不能指定起始限制。 有没有另外一种方法可以做到这一点? 此外,只是好奇,是否有一个原因,SQL […]

SQL来确定最小连续的访问天数?

以下“用户历史logging”表格包含给定用户每天访问网站 (在UTC时间24小时内)的每一天的logging 。 它有成千上万的logging,但每个用户每天只有一个logging。 如果用户当天没有访问该网站,则不会生成任何logging。 Id UserId CreationDate —— —— ———— 750997 12 2009-07-07 18:42:20.723 750998 15 2009-07-07 18:42:20.927 751000 19 2009-07-07 18:42:22.283 我正在寻找的是这个表上的一个SQL查询, 性能很好 ,告诉我哪些用户名连续几天访问了网站,而不会错过任何一天。 换句话说,有多less用户在这个表中有连续(date前或日后)date的logging ? 如果序列中缺less任何一天,序列就会中断,应该在1处重新开始; 我们正在寻找已经连续几天没有任何差距的用户。 这个查询和特定的Stack Overflow徽章之间的任何相似之处纯属巧合,当然.. 🙂

sqlite alter table在单个语句中添加MULTIPLE列

是否有可能改变表中添加MULTIPLE列在sqlite中的单个语句? 以下将无法正常工作。 alter table test添加列mycolumn1文本,添加列mycolumn2文本;

SELECT * FROM tablename WHERE 1

我一直很好奇。 有什么区别: SELECT * FROM `tablename` SELECT * FROM `tablename` WHERE 1 SELECT * FROM `tablename` WHERE 1=1

“姓名”字段的合理长度限制是多less?

我有一个简单的networking表单,将允许未经身份validation的用户input他们的信息,包括名称。 我给名称字段50个字符的限制,以配合我的数据库表字段是varchar(50),但后来我开始怀疑。 使用类似“文本”列types的东西更合适吗?还是应该将名称的长度限制在合理的范围内? 我正在使用SQL Server 2005,以防万一您的回应。 编辑:我没有看到类似的问题这个更广泛的问题。

最喜欢的性能调整技巧

当您需要性能调优的查询或存储过程时,您尝试的第一件事是什么?

在存储过程中使用“SET XACT_ABORT ON”有什么好处?

在存储过程中使用SET XACT_ABORT ON有什么好处?

在SQL Server中执行嵌套的case语句逻辑的最佳方法

我目前正在写一个SQL查询,其中一些返回的列需要计算取决于相当多的条件。 我目前使用嵌套的case语句,但它变得混乱。 有没有更好的(更有组织性和/或可读性)的方式? (我正在使用Microsoft SQL Server,2005) 一个简单的例子: SELECT col1, col2, col3, CASE WHEN condition THEN CASE WHEN condition1 THEN CASE WHEN condition2 THEN calculation1 ELSE calculation2 END ELSE CASE WHEN condition2 THEN calculation3 ELSE calculation4 END END ELSE CASE WHEN condition1 THEN CASE WHEN condition2 THEN calculation5 ELSE calculation6 END ELSE CASE WHEN condition2 THEN […]

如何在SQL Server 2008中使用Table别名编写UPDATE SQL?

我有一个非常基本的更新SQL – UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101; 此查询在Oracle,Derby,My-Sql中运行正常 – 但在SQL Server 2008中失败,出现以下错误: “Msg 102,Level 15,State 1,Line 1'Q'附近语法不正确。 如果我删除所有出现的别名,从SQL“Q”然后它的作品。 但是我需要使用别名。