草庐IT

mysql - STR_TO_DATE 作为列,但未找到列

这个查询有什么问题:select*,STR_TO_DATE(start,'%d/%m/%Y')asdate_formatfromdateswheredate_format>=2018-03-19错误:Columnnotfound:1054Unknowncolumn'date_format'in'whereclause' 最佳答案 您不能在where子句中使用列别名。MySQL有一个扩展,您可以在having子句中执行此操作(无需进行任何聚合)。所以你可以这样做:selectd.*,STR_TO_DATE(start,'%d/%m/%

mysql - mysql中的STR_TO_DATE解析

我正在尝试解析“06/01/201015:00:0008:00”。问题是最后一个偏移时间,mysqlstr_to_date无法解析它,知道吗? 最佳答案 您需要使用CONVERT_TZfunction,但您没有指定要将日期时间转换为哪个时区:CONVERT_TZ(STR_TO_DATE(LEFT('06/01/201015:00:0008:00',20),'%m/%e/%Y%H:%i:%s'),CONCAT('+',RIGHT('06/01/201015:00:0008:00',6)),?)您需要用适当的时区信息替换?。

mysql - 我可以在 int 中存储 unix 时间戳吗?

我想使用INT但我不确定在INT部分后面放什么。根据这个link有3种常用的方法来存储日期/时间,但我只想使用一个简单的INT。 最佳答案 INT之后的数字简单地描述了当您从列中选择时列的宽度。它不限制存储在该字段中的值的范围。无论您在其后加上什么数字,INT都是INT。http://dev.mysql.com/doc/refman/5.0/en/numeric-types.htmlNumericTypeAttributesMySQLsupportsanextensionforoptionallyspecifyingthedispl

Mysql:将 int 字段设置为 unsigned 可以节省大量空间。为什么?

我的印象是将int字段设置为有符号与无符号不会节省任何空间。今天我将一些列设置为无符号,因为它们永远不会存储负值,并且注意到表大小减少了15%。当我将它们的int列设置为无符号时,我的一些表的大小没有减小,一些表的大小大大减小了。有人对此有解释吗? 最佳答案 @FrankSchmitt和@Kenny是正确的-如果您只观察数据类型更改前后的文件大小,您会看到不同的效果。有符号整数和无符号整数各占用4个字节,两者都不是更节省空间的。当您添加或更改列时,以及在其他一些情况下,MySQL会执行表重组。也就是说,它将表的内容复制到一个新文件,

php - mysql_query 只为 int/fload 数据库类型返回字符串类型

我正在尝试处理MySQL选择结果。我的问题是,下面的示例代码仅返回一个包含所有值的数组string-type即使对于包含整数和float的列也是如此。$sth=mysql_query($selectstr);$rows=array();while($r=mysql_fetch_row($sth)){foreach($ras$value)echogettype($value),"\n";}如果我将$r中的数组传递给json_encode(..),我会在输出中得到JavaScript字符串值(用引号括起来),而不是未加引号的数字值(我需要什么)。如何查询MySQL数据库并获取包含具有正确类

php - PDO Int 占位符在它们周围获取引号

所以下面的代码一直困扰着我:$stm=$pdo->prepare("SELECT*FROMurlsWHEREaccount=?ANDNOTdeletedLIMIT?,4");$stm->execute($user,($request-1)*4);每当我执行这个查询时,它都会返回这个错误:Syntaxerrororaccessviolation:1064YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''0',4'atl

php - 如何向 str_to_date mysql 函数添加一些天数?

我有一个表格,其中有一个字符串日期,格式为01.04.2015。现在我想在该字符串日期格式列中添加一些天数。为此,我在下面的查询中添加了一些天数。SELECTDATE_ADD(level2,INTERVAL28DAY)level2FROMsales_purchase_stocks_hsWHEREstock='123'当我运行这个查询时,我得到了错误的日期输出。输出是2001-05-1815:00:00。但我的原始日期字符串是01.04.2015(2015年4月1日)。我尝试了以下查询SELECTSTR_TO_DATE(DATE_ADD(level2,INTERVAL28DAY),'%d

MySQL - 字段类型 INT 中的默认值

我有一个问题想帮我解决,它是关于数据库字段中数据类型的值。必须指定将具有字段标识符idINT的字符数或值数。idINTUNSIGNEDNOTNULLAUTO_INCREMENTidINT和idINT(11)有什么区别,必须要建立多个值?idINTUNSIGNEDNOTNULLAUTO_INCREMENTid(11)INTUNSIGNEDNOTNULLAUTO_INCREMENTMySQL在idINT中的默认设置是什么,如果没有指定任何值?允许我添加INT的最大精确数字是多少在这种情况下,您必须使用INT在这种情况下,您应该使用BIGINT示例:我举一个新闻门户的例子,我可以收到很多访问

mysql - 在 MySQL/Sequel Pro 中将 VARCHAR 列转换为 INT

我正在尝试将数据库中的列从VARCHAR设置为INT(值已经在数据库中)执行此操作时,会发生以下情况(示例):|number(varchar)|number(int||20090911913>2147483647||3009092113>2147483647|每个数字都是唯一的(具有VARCHAR值),当将列设置为INT时,所有值都变得相同(2147483647)。请注意,所有值都是VARCHAR时不包含字母(我检查过)现在我不知道为什么会这样,数据来自CSV,我在导入SequelPro时检查记录是否有不同的编号(不是2147483647)。在GUI中它显示它是不同的,但是当所有导入时

MySQL CASE EnumInt WHEN Varchar ELSE Int 返回为 BLOB - 如何转换为 Varchar?

以下返回一个BLOB,我如何将这个else值转换为VARCHAR来解决我的问题?SELECTCASEEnumIDWHEN1THEN'Red'WHEN2THEN'Green'WHEN3THEN'Blue'ELSEEnumIDENDASEnumValueFROMTable在MSSQL/TSQL中我使用ELSECAST([EnumID]ASVARCHAR(100))但是MySQL提示。我想要的只是一个故障转移,如果这个存储过程不知道一个新的枚举值来管理代码、主数据库和数据仓库数据持久性。必然是一个显而易见的答案...显然问题似乎出在使用VARCHAR上?刚发现CAST(EnumIDASCHA