草庐IT

php - 类型为 VARCHAR 时的日期 SQL 查询

我正在尝试查询两个日期之间的数据库...问题是我正在查询的列包含当前格式为“01/01/2014”(dd/mm/yyyy)的日期列类型为VARCHAR。目前,我无法将列转换为日期类型。基本上,当我查询表时,因为它没有设置为日期类型,所以between查询不会返回正确的行...有没有其他人遇到过这个问题,我可以在查询中更改什么吗?$this->db->where('IssueDate>=','02/12/2013');$this->db->where('IssueDatedb->get('MYTABLE');谢谢你们。 最佳答案 解决

mysql - 为什么 '>' 与 SQL 中的 VARCHAR 数据进行有效比较?

因此,我对SQL(以及一般的脚本/编码)还很陌生,这是来自书中的一个示例,但不幸的是,他们决定不会对这个查询提出任何问题,并且忽略了在查询末尾附近扩展“>”这里是有问题的查询:SELECT*FROMeasy_drinksWHEREmain>'soda';这里是一些查询的pastebin,希望能提供所需的观点:http://pastebin.com/xfJQsBvU粘贴DESCeasy_drinks:http://pastebin.com/LZZPhk6Z我只是对查询末尾附近的“>”的工作方式感到困惑,因为main存储为VARCHAR,而“soda”绝对不是可以与另一个整数进行比较的整数

mysql - 简单的 MySQL 加入 varchar(100) 字段不起作用

因此,我正在为mysql进行连接以过滤掉一些不良数据,但我遇到了这个奇怪的问题。两个表都通过payment_transaction_id连接。它们的值都为3463。联接结果不返回任何行。两个表都有这个值。记录在card_transaction_log中的证明:selectcount(*)fromcard_transaction_logwherepayment_transaction_id=3463;>>1记录在交易中的证明:selectcount(*)fromtransactionwherepayment_transaction_id=3463;>>1但是连接不起作用。selectco

php - 拉出 Oracle CLOB 与 VARCHAR2 不同吗?

使用MySQL,我能够在TEXT列中存储大块文本,就像我处理任何其他列类型一样毫无问题。似乎当我尝试对Oracle上的CLOB执行相同操作时,我遇到了错误。这是我要拉的地方:';echo'';echo'',date('Fj,Y',strtotime($row['SDATE'])),'';echo($_GET['names']==1)?''.$row['f_name'].''.$row['l_name'].'-'.$row['title'].'-'.$row['emp_type'].'':'';echo'';echo'';echo'',$row['q2_other'],'';echo''

mysql - 错误代码 : 1064 in mysql

我创建了一个应该执行某些操作的过程,但每次我调用它时,mysql都会出现错误,我不知道这是什么意思。我试图理解它是徒劳的,这是存储过程对其进行操作的表结构:CREATETABLE`recruitment`.`job_seeker`(`user_id`INTNull,`fname`VARCHAR(45)Null,`lname`VARCHAR(45)Null,`mname`VARCHAR(45)Null,`gender`VARCHAR(10)Null,`dob`DATENull,`marital_status`VARCHAR(45)Null,`address`VARCHAR(45)Null

sql - MySQL - 通过索引防止表中的重复记录?

使用MySQL5我有一个这样的表:date(varchar)door(varchar)shift(varchar)route(varchar)trailer(varchar)+otherfields此表包含用户生成的内容(从另一个“主”表复制过来),为了防止用户创建超过1倍的相同数据,该表具有基于上述指定字段创建的唯一索引。问题是“防重复”索引不起作用。用户仍然可以添加重复记录而不会报告错误。这个问题是因为我不了解索引的工作原理吗?或者是否可能与主键字段(autoincrementingint)冲突?创建表看起来像这样:CREATETABLE/*!32312IFNOTEXISTS*/"

mysql - 数据库 MySql 设计 - utf8 字段的 varchar 长度::1。密码 2. 用户名 3. 邮箱

大多数时候我定义varchar(255)lengthauto。但现在我在想为utf8字段定义多少varchar长度最好:密码用户名电子邮件如果这个字段应该定义小于varchar255,它会提高多少性能?谢谢 最佳答案 如果您使用SHA1哈希,“密码”应该是char(40)。如果您确定散列的情况始终相同,则这可能具有二进制排序规则。这会给你更好的表现。如果不是,请使用latin1,但不要使用utf8。'email'...使用255,你无法知道某人的电子邮件地址有多长。对于用户名,我会使用您的最大用户名长度。20或30可能会很好。如果您

mysql - 提高文本性能?

我需要将文本存储在MySQL数据库中。每行的文本大小不同,一般约为10kb,但在极少数情况下可以是100kb。文本将被非常频繁地访问以进行读取和写入。出于这个原因,我认为最好将其设为VARCHAR,因为它比TEXT快得多。问题:是否可以将列设为VARCHAR并且在极少数情况下文本超过64kb,请以某种方式存储它作为TEXT? 最佳答案 您可以声明的最大VARCHAR是64KB。TEXT列的最大长度为64KB。参见http://dev.mysql.com/doc/refman/5.6/en/string-type-overview.h

不使用 CAST 的 VARCHAR 字段的 mysql SUM

在MySql数据库中使用SUM查询VARCHAR类型的字段时,SUM会自动转为数字吗?我尝试使用SELECTSUM(parametervalue)FROMtable它显示MySql返回了总和,尽管我预计会抛出一个错误,因为“parametervalue”字段是VARCHAR类型 最佳答案 MySQL对数字上下文中的字符串进行静默转换。因为sum()需要一个数字,所以MySQL只是使用字符串中的前导“数字”进行转换。请注意,这包括小数点、减号,甚至包括表示科学记数法的e。因此,'1e6'被解释为数字。在代码中,我个人会通过添加0来明确

mysql - MySQL 中的数据透视表 - 转换为具有 varchar 格式值的数据透视表

我想转换Table1中的数据,如您在Pivot_table数据的第一张图片中所见。可以在MySQL中做到这一点吗?因为数据透视表(A、B、C、D)的值是varchar数据格式,我不能使用MySQL的任何聚合函数,如SUM或其他函数。Table1:PKNameSubjectGrade-------------------------------------1BobMathA2BobHistoryB3BobLanguageC4BobBiologyD5SueHistoryC6SueMathA7SueMusicA8SueGeographyCPivot_table:SubjectBobSue--