Tag: sql

如何获取使用MSSQL GetDate()的date?

DELETE from Table WHERE Date > GETDATE(); GETDATE()包含时间。 而不是得到 2011-01-26 14:58:21.637 我怎样才能得到: 2011-01-26 00:00:00.000

如何修改PostgreSQL数据库表中列的位置?

我已经尝试了以下,但我没有成功: ALTER TABLE person ALTER COLUMN dob POSITION 37;

SQL Server:空VS空string

在SQL Server中如何存储NULL和空的Varchar值。 如果我没有用户input的string字段在我的用户界面上 ,我应该存储一个NULL或'' ?

在SQL Server游标中获取多个值

我有一个游标,它包含了我想要一次处理的行中的多个列。 我注意到大部分我已经看到的关于如何使用游标的例子显示,他们将一个特定的列从游标分配给一个标量值,然后移动到下一行, 例如 OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN –Do Stuff with @name scalar value, then get next row from cursor FETCH NEXT FROM db_cursor INTO @name END 我想知道的是,如果有可能做到以下几点: OPEN db_cursor FETCH NEXT FROM db_cursor; WHILE @@FETCH_STATUS = 0 BEGIN SET @myName = db_cursor.name; SET @myAge = db_cursor.age; […]

使用select将行添加到查询结果

是否有可能用这样的文字扩展查询结果? select name from users union select name from ('JASON'); 要么 select age, name from users union select age, name from (25,'Betty'); 所以它会返回表中所有的名字加'JASON',或者(25,'Betty')。

如何判断一个VARCHARvariables是否包含一个子string?

我以为是CONTAINS,但这不适合我。 我正在寻找这样做: IF CONTAINS(@stringVar, 'thisstring') … 我必须运行一个select或另一个,取决于是否该variables包含一个string,我不知道如何让它的工作。 我看到的所有例子都是使用包含的列。 提前致谢。

可以使用SQL按date进行sorting,但将空date放在结果集的后面?

我在MySQL数据库中有一堆的任务,其中一个字段是“截止date”。 并不是每个任务都必须有截止date。 我想用SQL按截止date对任务进行sorting,但在结果集的后面放置没有最后期限的date。 就像现在一样,无效date首先显示,其余按最早的截止datesorting。 任何关于如何单独使用SQL的想法? (如果需要的话,我可以用PHP来完成,但是只有SQL的解决scheme会很棒。) 谢谢!

SQL Server中数据库范围内唯一而简单的标识符

首先,我知道这个问题 ,并且(使用GUID)的build议不适用于我的情况。 我想要简单的UID,以便我的用户可以通过电话轻松地交stream这些信息: 你好,1584号订单有问题 而不是 你好,我订单4daz33-d4gerz384867-8234878-14有一个问题 我想要那些是唯一的(数据库范围),因为我有几种不同的'对象'…有订单ID,交货ID和帐单ID,并且因为这些关系之间没有一对一的关系,我没有办法猜测ID是指什么types的对象。 借助数据库范围内唯一的ID,我可以立即知道客户所指的是什么对象。 我的用户只需在search工具中input一个ID,我就可以省去额外的点击,进一步完善正在查找的内容。 我目前的想法是使用具有不同种子1,2,3等的标识列,并且增量值为100。 这提出了一些问题,但: 如果我最终得到超过100个对象types呢? 授予我可以使用1000或10000,但不能很好地“扩散” 种子是否有可能“丢失”(在复制期间,数据库问题等)? 更普遍的是,还有其他问题我应该知道吗? 是否有可能使用一个非整数(我当前使用bigints)作为标识列,以便我可以用表示对象types的东西的ID前缀? (例如一个varchar列) 使用一个只包含一个标识列的“主表”,也许是一个对象types,这样在每当需要一个新的想法时,我就可以在其中插入一行。 我觉得这可能有点矫枉过正,恐怕会让我所有的插入请求变得复杂。 再加上我不能在不查看数据库的情况下确定对象types 还有其他巧妙的方法来解决我的问题?

如何比较Linux上的两个SQLite数据库

使用Linux,我想比较两个具有相同模式的SQLite数据库。 只会有一些差异。 有没有可以输出这些差异的工具? 最好将它们输出到命令行,以便我可以grep / sed它们。 SQLite使用SQL,所以一般的SQL工具也可以。

什么是导致错误:没有唯一的约束匹配给定的键为参考表?

下面的示例表结构给出了一个错误:没有唯一的约束匹配给定的键的引用表,并盯着它,现在我不明白为什么这个错误出现在这种情况下。 BEGIN; CREATE TABLE foo ( name VARCHAR(256) PRIMARY KEY ); CREATE TABLE bar( pkey SERIAL PRIMARY KEY, foo_fk VARCHAR(256) NOT NULL REFERENCES foo(name), name VARCHAR(256) NOT NULL, UNIQUE (foo_fk,name) ); CREATE TABLE baz( pkey SERIAL PRIMARY KEY, bar_fk VARCHAR(256) NOT NULL REFERENCES bar(name), name VARCHAR(256) ); COMMIT; 运行上面的代码给出了下面的错误,这对我来说是没有意义的,任何人都可以解释为什么会出现这个错误。 我正在使用postgres 9.1 NOTICE: CREATE TABLE / […]