草庐IT

bool2str

全部标签

mysql - 为什么 MySQL 的 bool 类型映射到 tinyint 而不是枚举?

在枚举上使用tinyint(1)是否有性能或兼容性原因?还有别的吗? 最佳答案 您可能会对MySQLindexesENUMswithintegers感兴趣.自1999年以来,SQL标准就包含了bool数据类型-有效值为true、false、unknown或null。Implementationacrossvariousdatabasesystemsisspotty.MySQL不支持真正的bool数据类型-BOOLEAN映射到TINYINT,它只占用1个字节。MySQL将0解释为假,所有其他数字都为真。

MySQL STR_TO_DATE NULL 出错

我目前正在将一个包含VARCHAR列的日期的表迁移到一个包含DATE列的新表。我设法将旧表中的字符串值清理为"YYYY-MM-DD"格式,但是当我尝试执行插入时,我收到了错误,日期为"2006-04-31"因为那个四月只有30天(注册时打错了),我的问题是:当日期无效时如何将列设置为NULL而不会出现错误?我的SQL如下:INSERTINTOnewFancyTable(created_at)SELECTstr_to_date(created,'%Y-%m-%d')FROMoldCrappyTable;错误如下:ErrorCode:1292.Incorrectdatevalue:'200

mysql - Rails 将 mysql tinyint(1) 视为 bool 值 - 但我希望它是一个数字

Rails4.2.1使用mysql2gem。ActiveRecord将数据类型为tinyint(1)的mysql列视为bool值。但我想将它用作一个小数字-我想存储最多100个值,这对于tinyint(1)是可以的。当我尝试创建记录时,tinyint列转换为false并且我收到折旧警告:>Foo.create(my_tinyint_col:13)(0.2ms)BEGINSQL(0.5ms)INSERTINTO`foos`(`my_tinyint_col`)VALUES(0)(107.3ms)COMMIT=>#DEPRECATIONWARNING:Youattemptedtoassign

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)),?)您需要用适当的时区信息替换?。

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

具有两个 bool 条件的 MySQL 查询比单独查询每个条件花费的时间更长

我有一个MySQL数据库,其中的表包含大约160.000个条目。当我查询以下查询时,大约需要0.5秒的执行时间:SELECT*FROMtableWHEREEXTRACT(HOURFROMdate)>18;SELECT*FROMtableWHEREEXTRACT(HOURFROMdate)像这样将语句组合成一个查询之后SELECT*FROMtableWHEREEXTRACT(HOURFROMdate)>18OREXTRACT(HOURFROMdate)执行需要永远。事实上,我还没有看到查询完成执行并在大约20分钟后取消了它。例如,当我将OR更改为AND时:SELECT*FROMtable

mysql - LOAD DATA INFILE 使用 STR_TO_DATE(@var1 ,'%m/%d/%Y') 转换 2 个日期 - 抛出错误

这是一个错误,我不知道为什么,有什么想法吗?LOADDATALOCALINFILE'H:/Data/DB__Muni/data/msrb_AZ_short1.csv'INTOTABLEimport_mdrpFIELDSTERMINATEDBY';'LINESTERMINATEDBY'\r\n'(Issuer,cusip6,state,Issue,page_pointer,@var1,date_rng,cusip9,@var2,yield,Amt_Offer_Dlr,Amt_Offer_Per,Security_Description,Fitch,Moody,cusip_img,fitc

MySQL 错误代码 : 1411. 日期时间值不正确:函数 str_to_date 的 ''

有人要求我对目前仅部署到Linux生产服务器的现有应用程序进行更改。我已经开始使用该应用程序,大部分时间都可以在我的本地WindowsPC上运行。我在本地PC上安装了来自Production的MySQLDB的完整副本。生产数据库在Linux上是MySQLv5.0.95,在Windows上我的本地数据库是MySQLv5.5。两者都处于InnoDB模式。我的问题与如下语句有关。通用化以便于其他想要提供帮助的人使用。updateatablesetadate=DATE_ADD(str_to_date('','%m/%d/%Y'),INTERVAL0DAY)whereanum='1'在某些情况下

mysql - mysql 中有一个类似 php 中的 str_replace 的函数吗?

在我的数据库中我有很多人...有些人有这样的罗马尼亚语变音符号:Ă-正确形式,在我的数据库中('ă')。我想做的就是将所有“ă”替换为“Ă”..就是这样。`例如,如果我有:'MăDăLIN'->MĂDĂLIN,ARAMă->ARAMĂ.我该怎么做? 最佳答案 你可以试试这个UPDATEtable_nameSETcolumn_name=REPLACE(columnname,'find_string','replace_with') 关于mysql-mysql中有一个类似php中的