小编Nul*_*ion的帖子

SQL标准中最好的和最少的

我的理解是GREATEST()和LEAST()不是SQL标准的一部分,但是很常见.

我想知道,有没有办法克隆GREATEST的功能保持在SQL标准内?

SELECT id, GREATEST(1,2,3,4,5,6,7) AS number FROM table
Run Code Online (Sandbox Code Playgroud)

完全查询:

  SELECT SUBSTR(section,1,2) AS campus, 
           AVG(GREATEST(maximum - enrolled, 0)) AS empty 
    FROM sectionrun 
   WHERE coursenumber = '105' AND subject = 'ENGL' 
GROUP BY campus
Run Code Online (Sandbox Code Playgroud)

sql standards

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

是否有任何SQL注入工具,所以我可以测试我的网站的漏洞?

是否有任何SQL注入工具,所以我可以测试我的网站的漏洞?有什么好的吗?免费的会很好.

sql-injection database-security

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

需要正则表达式匹配1个或更多正好n位数字

我需要一个正则表达式来匹配一系列由逗号分隔的一个或多个n位数字,即:

abc12345def返回12345
abc12345,23456def返回12345,23456

到目前为止我得到了这个: \d{5}(,\d{5})*

问题是它在以下情况下也匹配:

123456返回12345,但如果数字长于5,我需要它不匹配.所以我需要5个数字的数字,如果数字更短或更长,那就是不匹配

谢谢

regex

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

针对YTD,MTD,WTD总计的SQL查询

我希望这个查询能够自动地知道今天的日期和时间以及一年(或一个月)(或一周)的第一天......

SELECT TicketID
FROM   Ticket
WHERE     (Ticket.DtCheckOut > '1/1/2011 12:00:00 AM') 
      AND (Ticket.DtCheckOut < '8/27/2011 12:00:00 AM')
Run Code Online (Sandbox Code Playgroud)

我知道它会GETDATE()以某种形式使用,但你不想看到我想出的东西,我保证!

这是我在MDSN上阅读的GETDATE() 内容:GETDATE(Transact-SQL)

我环顾四周和谷歌 - 并没有找到任何'干净' - 所以任何输入都会很棒!

sql sql-server select date sql-server-2008-r2

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

检查密码复杂性:与最近的X密码不同

大多数服务,程序等都有各种密码复杂性检查.在没有深入研究这种检查功效的情况下,我想到了一个可能有趣但也可能有问题的检查:

"新密码必须是Y与上一个X密码不同的字符."

这会阻止人们使用像Password1!,Password2!等等的密码.但是如果这样做了,就不能对先前使用的密码进行哈希处理 - 它们最好是加密的......对吧?

对于一个小Y而且相当短的密码,你可能仍然可以存储哈希和暴力Y破解新密码的所有字母变体,但是随着Y密码长度的增加而变得不可行.

我最初的想法是这样的:因为当你更改密码时,你必须提供你的原始密码,散列新密码并以加密形式存储旧密码.现在它是可逆的.

因此,假设有效密码始终是哈希值,那么有更好的方法吗?并且这样做是否会增加降低应用程序的安全性?

security encryption passwords

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

如何确定两个大型数据集之间的差异?

我有大量数据集,包含数百万条XML格式的记录.这些数据集是数据库的完整数据转储,直到某个时间点.

在两个转储之间可能已添加新条目,并且可能已修改或删除现有条目.假设架构保持不变,并且每个条目都有唯一的ID.

确定其中两个数据集(包括删除和更新)之间的差异的最佳方法是什么?


我的计划是将所有内容加载到RDBMS并从那里开始.

首先,加载旧转储.然后,将较新的转储加载到不同的模式,但这样做,我将检查条目是新的还是对现有条目的更新.如果是,我将在一个名为"更改"的新表上记录该ID.

完成所有操作后,我将遍历所有条目的旧转储,并查看它们是否在新转储上具有匹配的记录(即:相同的ID).如果没有,请记录更改.

假设按ID查找记录是一项O(log n)操作,这应该可以让我及时完成所有O(n log n)操作.

因为我可以通过查看只有ID和最后修改日期的记录的存在与否来确定差异,我也可以在主存中加载所有内容.时间复杂度将是相同的,但具有更少的磁盘I/O的额外好处,这应该使这个速度快几个数量级.

建议?(注意:这不仅仅是一个性能问题)

xml sql large-data-volumes dataset

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

与SQL中的NULL进行比较

ANSI-92 SQL要求将NULL评估与"falsy"进行比较,例如:

SELECT * FROM table WHERE field = NULL
SELECT * FROM table WHERE field != NULL
Run Code Online (Sandbox Code Playgroud)

两者都不会返回任何行,因为NULL无法像那样进行比较.相反,谓语IS NULLIS NOT NULL必须改用:

SELECT * FROM table WHERE field IS NULL
SELECT * FROM table WHERE field IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

研究表明,Oracle 1,PostgreSQL,MySQL和SQLite都支持ANSI语法.添加到该列表DB2和Firebird.

除了ANSI_NULLS关闭SQL Server之外,还有哪些其他RDBMS支持非ANSI语法?

1整个空字符串= NULL尽管很糟糕.

sql null ansi-sql

6
推荐指数
2
解决办法
7944
查看次数

一个更简单的单身人士

我见过的所有单例模式都使用对象的引用来确定对象是否已被实例化.但是,如果我使用单例来保证只有一个数据库连接,为什么不使用数据库连接资源链接来执行此操作?这是我正在使用的代码.(PS:它工作正常).我使用评论可以轻松搜索我的课程.

/*one*/

class one
  {
  public static $db;
  private function __construct()
    {
    self::$db=new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
    }
  public static function get()
    {
    if(self::$db==NULL)
      {
      new self();
      }
    return self::$db;
    }
  }
Run Code Online (Sandbox Code Playgroud)

php

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

Oracle中的并发更新:是否锁定?

我糊涂了.我正在读Oracle中的MVCC.我以为MVCC意味着没有锁.但是,UPDATE无论隔离级别如何,我都在其他地方读到所有自动锁定.有人可以解释Oracle更新期间会发生什么吗?当多个读取提交的事务尝试并发时会发生什么update t set c = c + 1 where id = 3.结果是什么,在任一交易之前给定c = 1,以及锁和SCN发生了什么?

Begin T1
Begin T2
T1:  update t set c = c + 1 where id = 3
T2:  update t set c = c + 1 where id = 3
Commit T1
Commit T2
Run Code Online (Sandbox Code Playgroud)

database oracle concurrency transactions

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

从10000个ascii字符串返回字符串子集

我的大学已经过去,所以我开始准备面试以获得工作,我在准备面试时遇到了这个面试问题

  1. 你有一组10000 ascii字符串(从文件加载)
  2. 从stdin输入一个字符串.
  3. 编写一个伪代码,它返回(到stdout)(1)中字符串的一个子集,它包含相同的不同字符(不管顺序)作为(2)中的输入.优化时间.
  4. 假设需要重复调​​用此函数.初始化字符串数组一次并存储在内存中是可以的.请避免需要循环遍历所有10000个字符串的解决方案.

任何人都可以为我提供一般的伪代码/算法如何解决这个问题?我正在考虑解决方案.我大多熟悉Java.

java algorithm substring

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