Tag: sql

从PostgreSQL的时间戳中提取date(yyyy / mm / dd)

我想从PostgreSQL中的时间戳中提取date部分。 我需要它是一个postgresql DATEtypes,所以我可以插入到另一个预期DATE值的表。 例如,如果我有2011/05/26 09:00:00 ,我想2011/05/26 我尝试铸造,但我只得到2011年: timestamp:date cast(timestamp as date) 我尝试to_char()与to_date() : SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD') FROM val3 WHERE id=1; 我试图使它成为一个函数: CREATE OR REPLACE FUNCTION testing() RETURNS void AS ' DECLARE i_date DATE; BEGIN SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD") INTO i_date FROM exampTable WHERE id=1; INSERT INTO foo(testd) VALUES (i); END 从PostgreSQL的时间戳中提取date(yyyy / mm / dd)的最佳方法是什么?

如何在SQL Server Management Studio中将列值设置为NULL?

如何清除单元格中的值并将其设置为NULL?

ALTER TABLE添加一个复合主键

我有一个名为provider的表。 我有三列叫人, place , thing 。 可能有重复的人物,重复的地方和重复的事物,但是永远不会有一个重复的人物事物组合。 我将如何使用这三列在ALTER TABLE中为这个表添加一个组合主键?

列出在SQL Server上运行的查询

有没有办法列出当前在MS SQL Server上运行的查询(通过企业pipe理器或SQL)和/或谁连接? 我想我有一个长时间运行的查询正在我的一个数据库服务器上执行,我想跟踪它并停止它(或继续启动它的人)。

读取提交和可重复读取之间的区别

我觉得上面的隔离水平是如此相似。 有人可以用一些很好的例子来描述它的主要区别是什么?

在SQL Server中截断(不是舍入)小数位数

我试图确定最好的方法来截断或删除额外的小数位,而不舍入四舍五入。 例如: declare @value decimal(18,2) set @value = 123.456 这将自动围绕@Value是123.46 ….在大多数情况下是好的。 但是,对于这个项目我不需要那个。 是否有一个简单的方法来截断我不需要的小数? 我知道我可以使用left()函数并将其转换回小数点…还有其他方法吗?

INSERT …在复制密钥(什么也不做)

我有一个两列独特的关键表: CREATE TABLE `xpo`.`user_permanent_gift` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `fb_user_id` INT UNSIGNED NOT NULL , `gift_id` INT UNSIGNED NOT NULL , `purchase_timestamp` TIMESTAMP NULL DEFAULT now() , PRIMARY KEY (`id`) , UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC) ); 我想在表中插入一行,但是如果键存在,什么也不做! 我不想因为键存在而产生错误。 我知道有下面的语法: INSERT … ON DUPLICATE KEY UPDATE … 但有这样的东西: INSERT … […]

添加一个默认值的新SQL列

我正在寻找语法来添加一列默认值为0的MySQL数据库 参考

如何复制一行,并在MySQL中的自动增量字段插入在同一个表中?

我有一个表格。 我想要做的是复制一个自动增量列ID = 1的行,并插入到行和列ID = 2相同的表中的数据。 使用MySql。 我怎样才能在一个查询中做到这一点?请帮助

将NOW()设置为datetime数据types的默认值?

我在表用户中有两列,分别是由datetime数据types组成的registerDate and lastVisitDate 。 我想做以下事情。 设置registerDate默认值为MySQL NOW() 将lastVisitDate默认值设置为0000-00-00 00:00:00而不是默认使用的null。 由于该表已经存在,并有现有的logging,我想使用修改表。 我试过使用下面的两段代码,但都不起作用。 ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW() ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP; 它给了我错误: ERROR 1067 (42000): Invalid default value for 'registerDate' 是否有可能在MySQL中设置默认的date时间值为NOW()?