Tag: sql

如何在SQL Server中生成一个date范围

这个标题并不完全代表我的意思,这可能是重复的。 这里是长版本:给定一个客人的名字,他们的注册date和结帐date,我怎样才能生成每一天,他们是一个客人一行? 例如:鲍勃在7/14进行检查,离开7/17。 我想要 ('Bob', 7/14), ('Bob', 7/15), ('Bob', 7/16), ('Bob', 7/17) 作为我的结果。 谢谢!

从C#中的存储过程获取返回值

我有以下查询: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[Validate] @a varchar(50), @b varchar(50) output AS SET @Password = (SELECT Password FROM dbo.tblUser WHERE Login = @a) RETURN @b GO 这个编译非常好。 在C#中,我想执行这个查询并获得返回值。 我的代码如下: SqlConnection SqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString.ToString()); System.Data.SqlClient.SqlCommand sqlcomm = new System.Data.SqlClient.SqlCommand("Validate", SqlConn); string returnValue = string.Empty; try { SqlConn.Open(); sqlcomm.CommandType = CommandType.StoredProcedure; […]

通过PDO ODBC连接PHP到MSSQL

当我执行这个代码: print_r(PDO::getAvailableDrivers()); 它说我有odbc驱动程序可用。 Array ( [0] => mysql [1] => odbc [2] => sqlite ) 但是,当我尝试像这样使用它: $handle = new PDO("odbc:Server=dbServerIpAddress,myportnumber;Database=mydatabase", "myusername", 'mypassword'); 它什么都不做 – 没有错误,根本不起作用。 它甚至不会执行过去那条线! 如何通过PDO和ODBC连接PHP到这个MSSQL数据库?

SQL Server检查大小写敏感吗?

如何检查SQL Server中的数据库是否区分大小写? 我以前一直在运行查询: SELECT CASE WHEN 'A' = 'a' THEN 'NOT CASE SENSITIVE' ELSE 'CASE SENSITIVE' END 但是我正在寻找其他方法,因为这实际上给了我过去的问题。 编辑 – 多一点信息:现有的产品有许多预先写好的存储过程。 在存储过程@test != @TEST这取决于服务器本身的敏感性。 所以我正在寻找的是检查服务器的灵敏度最好的方法。

Excel函数在工作表数据上进行类似SQL的查询?

我在excel工作表中有一个较大的表格: Column_1 | Column_2 | Column_3 ValueA ValueB ValueC …. 我需要的是一个函数,将作为input的范围和类似SQL的查询string,并返回匹配查询的行范围,例如: =SQL_SELECT(A1:C1000, "SELECT * WHERE Column_1 = ValueH AND Column_3 = blah") 有这样的事情吗? 或者什么是实施自己的最佳方式? 谢谢

什么是Oracle中的string连接运算符?

什么是Oracle SQL中的string连接运算符? 有什么“有趣”的特点,我应该小心? (这看起来很明显,但我找不到以前的问题)。

先按特定字段值sorting

我有一个3列的表: id | name | priority ——————– 1 | core | 10 2 | core | 9 3 | other | 8 4 | board | 7 5 | board | 6 6 | core | 4 我想要使​​用prioritysorting结果集,但是首先那些具有name=core行,即使优先级较低。 结果应该是这样的 id | name | priority ——————– 6 | core | 4 2 | core | 9 […]

来自Sql数据库的简单随机样本

如何在SQL中进行高效的简单随机样本? 有问题的数据库正在运行MySQL; 我的桌子至less有20万行,我想要一个简单的约10,000个随机样本。 “明显的”答案是: SELECT * FROM table ORDER BY RAND() LIMIT 10000 对于大型表来说,这太慢了:它为每一行调用RAND()(它已经把它放在O(n)),并对它们进行sorting,最好使它成为O(n lg n)。 有没有办法比O(n)更快地做到这一点? 注意 :正如Andrew Mao在注释中指出的那样,如果您在SQL Server上使用这种方法,则应该使用T-SQL函数NEWID(),因为RAND() 可能会为所有行返回相同的值 。 编辑:5年后 我再次遇到了一个更大的表,并最终使用@愚昧的解决scheme版本,有两个调整: 将行以2-5倍我所需的样本大小进行采样,以便宜的方式ORDER BY RAND() 将RAND()的结果保存到每个插入/更新的索引列中。 (如果你的数据集不是非常重要的,你可能需要find另一种方法来保持这个列的新鲜。) 要获取1000个表格的样本,我对这些行进行计数,并将结果平均采样到frozen_rand列的平均值10,000行: SELECT COUNT(*) FROM table; — Use this to determine rand_low and rand_high SELECT * FROM table WHERE frozen_rand BETWEEN %(rand_low)s AND %(rand_high)s ORDER BY […]

mysql_real_escape_string()是否完全防止SQL注入?

在http://www.justinshattuck.com/2007/01/18/mysql-injection-cheat-sheet/?akst_action=share-这个 ,有一个部分声称你可以绕过mysql_real_escape_string与某些亚洲字符编码 用BIG5或GBK绕过mysql_real_escape_string() “注射串” に关する追加情报: 上述字符是中国Big5 这是真的吗? 如果是这样,如果你没有准备好的陈述,你将如何保护你的网站?

我如何强制Postgres使用特定的索引?

如果强制Postgres使用索引,否则会坚持进行顺序扫描?