草庐IT

date_column

全部标签

mysql - SQL : update statement with dynamic column value assignment

想象一下下面的sql查询:UPDATEMYTABLESETCOL2=(SELECTCOL2+1FROM(SELECTMAX(COL2)FROMMYTABLE)ASX)WHEREIDIN(1,2,3,4,5)假设执行更新前MAX(COL2)为1我的意图是,对于ID=1的更新,COL2更新为“max(COL2)+1”(即2),而对于后续更新,“MAX(COL2)+1”被重新评估,因此对于ID=2、COL2=3和ID=3、COL2=4等...实际发生的是,对于所有行(ID=1,2,3,4,5),COL2的值为2。是否有一种聪明的方法可以在每次更新时“重新评估”MAX(COL2)+1的值?我意

php - MySQL 默认 date() + 14 天,对于一个列?

我想知道以下是否可以通过MySQL完成,还是必须使用PHP完成。任务-“到期日”用户输入产品名称用户点击提交表单按钮数据被POST然后发送到MySQL到期日=现在的日期+14天我想要实现的是一种让mysql在表列中插入“expiry_date”的方法,该列等于在该表中创建行的日期后14天。例如product_name-fooentry_date-2012-02-01expiry_date-2012-02-15我有一种感觉,除非使用存储过程,否则可能无法在mysql中执行此操作。我很高兴用PHP来做,但是我希望如果我可以用mysql来做,它会在我的系统中留下更少的错误范围。谢谢

php - SQLite 没有 DATE 数据类型?我该如何解决这个问题?

SQLite没有日期数据类型。我想知道是否足以在日期字符串之间进行字符串比较,如Y-m-dH:i:s(标准的sql日期时间格式)。例如...WHEREdate.这在某些情况下会失败吗? 最佳答案 您可以使用以下数据类型在SQLite中存储日期:TEXT作为ISO8601字符串(“YYYY-MM-DDHH:MM:SS.SSS”)。REAL作为儒略日数字,自公元前4714年11月24日格林威治中午以来的天数。根据公历。INTEGER作为Unix时间,自1970-01-0100:00:00UTC以来的秒数。然后您可以使用列出的函数转换这些

MySQL date_add() 在 WHERE 子句中不起作用?

当我尝试运行以下查询时:...WHERE`date`=DATE_ADD(NOW(),INTERVAL10HOUR)它不起作用,所以我必须使用$date=date("Y-m-d",strtotime('+10hours'))但为什么date_add不起作用?非常感谢 最佳答案 请注意DATE_ADD()除了日期之外,函数还返回时间部分。这与使用php的date("Y-m-d",strtotime('+10hours'))不同,它只返回日期部分。SELECTDATE_ADD(NOW(),INTERVAL10HOUR);+--------

sql - MySQL 错误 1054 : Unknown column in having clause

查询:SELECTSUM(ProductCost)FROM`tblBasket`GROUPBYProductCodeHAVINGBasketSessionID='3429782d79c68834ea698bb4116eef5e'显示错误如:1054-Unknowncolumn'BasketSessionID'in'havingclause'我的查询有什么错误? 最佳答案 尝试使用where子句代替having子句:SELECTSUM(ProductCost)FROM`tblBasket`WHEREBasketSessionID='3

mysql - 如何在两个日期之间查询 'date' 字段是一个字符串?

我在MySQL数据库中有一个表,其中有一个名为“日期”的字段,问题是日期的格式是DD-MM-YYYY,所以我无法将它作为DATE类型字段上传到MySQL。相反,字段类型是一个字符串。考虑到这一点,我该如何编写会产生这种效果的查询-SELECT*FROM`table`WHERE(date_fieldBETWEEN'2010-01-30'AND'2010-09-29')记住“date_field”不是DATE类型,而是字符串。 最佳答案 SELECT*FROM`table`WHEREstr_to_date(date_field,'%d-

MySQL 5.6 : remove explicit column collate

我正在运行mysql5.6。我从以前的开发人员那里继承的模式中的一些列有一个明确指定的collat​​e子句。所有显式指定的collat​​e子句与数据库的默认collat​​e相同。有什么方法可以删除显式列collat​​e子句吗?与我当前的collat​​e相比,功能整理应该没有差异,但我想要以下内容:在我请求时获取没有collat​​e子句的列定义createtable来自mysql的语句(我希望能够比较使用createtable从代码存储库创建表的脚本从模式的不同实例获得的语句不同的mysql服务器;显式列collat​​e子句是仅在某些情况下,而不是其他情况下,这需要我使用比

mysql - SELECT count(*) 比 SELECT count(*) 慢两倍,MySQL 中的 some_column

我有两个简单的查询:SELECTcount(*)FROMtable1WHEREcond1=exp1ANDcond2=exp2返回行数。例如47.SELECTcount(*),some_columnFROMtable1WHEREcond1=exp1ANDcond2=exp2返回行数,例如47,以及some_column中的任意值,它比第一个查询快两倍!我直接在服务器上测试了它,当然是通过GUI(HeidiSQL),结果是一样的,查询2快了一倍!知道为什么会这样吗?我在WinServer2012上使用MySQL服务器5.6.21和Apache/PHP5.3。更新1:CREATETABLE`

java.sql.SQLException : Incorrect string value: '\xF0\x9F\x98\x8F' for column 'tweetcontent' at row 1 异常

我尝试将推特提要保存在下表中的mysql数据库中CREATETABLE`tweets`(`id`int(11)NOTNULLAUTO_INCREMENT,`tweetcontent`varchar(255)CHARACTERSETutf8mb4NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=22DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;但是出现了如下错误java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x98\x8F'

php - Laravel 迁移,检查 hasColumn 但获取 Column Exists MySQL 错误

我正在尝试创建迁移,向现有表中添加一列。为表执行初始创建的up()方法如下所示:publicfunctionup(){Schema::create('lead_assignments',function(Blueprint$table){$table->engine='InnoDB';$table->increments('id');$table->string('version');$table->integer('reactor_track_id')->unsigned();$table->integer('lead_id')->unsigned();$table->integer