check mysql is_MySQL检查Varchar日期是否在字符串日期之间(MySQL Check if Varchar Date is Between String Dates)...

MySQL检查Varchar日期是否在字符串日期之间(MySQL Check if Varchar Date is Between String Dates)

我有一个SQL数据库,我有一个字段,其中包含日期,如01/31/2014 ,它是varchar类型。 即使我有权访问这个数据库,改变结构现在是不受限制的。

有没有办法检查Javascript中的字符串日期是否在数据库中我的varchar类型日期之间?

我得到的错误是,当我选择搜索日期之间(例如08/31/2013 12/31/2013 08/31/2013和12/31/2013 08/31/2013 12/31/2013 )时,它会产生正确的查询结果,但是当我搜索之间的日期时(例如08/31/2013我没有从我的任务中找到任何结果,即使有。

我相信这个错误与日期列的结构不是DATE 。 这是真的,我怎样才能克服我的问题?

I have a SQL database where I have a field that holds a date like 01/31/2014 and it is of varchar type. Even though I have access to this database changing the structure is off limits as of now.

Is there any way to check if a string date in Javascript is between my varchar type date in the database?

The error I am getting is that when I choose to search for dates between (e.g. 08/31/2013 and 12/31/2013) it yields the correct query results, however when I search for dates between (e.g. 08/31/2013 and 01/01/2014) I get no results found from my quest even though there is.

I believe this error is something to do with the date column's structure not being a DATE. Is this true and how can I overcome my problem?

原文:https://stackoverflow.com/questions/24310219

2020-08-30 18:08

满意答案

您正在寻找的SQL我相信是:

WHERE STR_TO_DATE(column, '%m/%/d/%Y')

BETWEEN STR_TO_DATE(column, '%m/%/d/%Y')

AND STR_TO_DATE(column, '%m/%/d/%Y')

MySQL有一个STR_TO_DATE函数,您可以使用它将字符串解析为MySQL中的日期对象。 然后您可以使用between关键字进行比较。

我的建议是以毫秒格式存储您的日期。 它将减少混乱和麻烦,并且它也是许多编码语言的标准。 它还可以使比较和转换日期变得更加容易。

The SQL you are looking for I believe is:

WHERE STR_TO_DATE(column, '%m/%/d/%Y')

BETWEEN STR_TO_DATE(column, '%m/%/d/%Y')

AND STR_TO_DATE(column, '%m/%/d/%Y')

MySQL has a STR_TO_DATE function, which you can use to parse a string into a date object in MySQL. Then you can use the between keyword for comparison.

My suggestion to you is to store your dates in millisecond format. It will create a lot less confusion and hassle, and it is also a standard across many coding languages. It will also make comparing and converting dates significantly easier.

2014-06-19

相关问答

你应该保存这种格式。 这可能会帮助你。 $sortable_date = date('Y-m-d H:i:s D',strtotime($your_date))." + 0900 (JST)";

You should to save in this format. This may helps you. $sortable_date = date('Y-m-d H:i:s D',strtotime($your_date))." + 0900 (JST)";

尝试这个 SELECT case when type='DDMMYYYY' then convert(date,STUFF(STUFF('05032013',3,0,'-'),6,0,'-'),105) when type='MMDDYYYY' then cast(substring('03052013',5,4)+'-'+substring('03052013',0,3)+'-'+substring('03052013',3,2) as date) when type='YYYYMMDD' th...

使用try_convert而不是cast : WITH dates AS (

SELECT '6.7.2012' AS dtm

UNION

SELECT '13.2.2012' AS dtm

UNION

SELECT '3.12.2012' AS dtm

UNION

SELECT '20.11.2012' AS dtm

)

SELECT TRY_CONVERT(datetime2, dtm, 104) FROM dates

;

结果: 13.02.2012 00:00:00

20.11.20...

我不建议在字符串中保存日期,您可以将数据类型保存为Date或DateTime数据类型, Q1的答案是 SELECT SUBSTRING(MyColumn, 5,2) + RIGHT(MyColumn, 2) + LEFT(MyColumn, 4)

但请记住它的作品只有当你的YYYYMMDD格式的刺痛,如果你改变格式化然后错误的答案将来或可能会得到错误和Q2的答案是 SELECT LEFT(MyColumn, 2) + ':' + RIGHT(MyColumn, 2)

i will not re...

嘿对不起,迟到了。 我做了类似的事情,但住宿加早餐,房间预订系统。 请首先正确规范您的数据库。 你可以有三个表,如汽车,租用或人。 你的车牌,可以拥有你车辆的所有描述。 人员表可以包含雇用汽车的人的所有描述。 您的雇佣表将引用car_id和person_id。 它还有你start_date和end_date。 就像这样。 车桌。 car_id(主键),car_color(文本),Car_make(文本) ** 人员表 ** person_id(主键)person_name(文本)person_te...

如果已知格式总是M然后D,并且分隔符总是/,为什么不只是解析斜杠? 另外,你为什么在你的CONVERT使用,1) ? 所有上述格式似乎都没有它转换为我好: WITH x(ShipDate) AS

(

SELECT '5/12/2011'

UNION ALL SELECT '05/5/2012'

UNION ALL SELECT '05/05/2012'

)

SELECT CONVERT (DATE, ShipDate) FROM x;

If the known forma...

由于它是一个字符串,您应该使用STR_TO_DATE将其转换为有效的日期值 SELECT *

FROM tableName

WHERE STR_TO_DATE(datum,'%M %e, %Y, %h:%i %p') ....

两者的区别: STR_TO_DATE - 将字符串转换为日期 DATE_FORMAT - 将日期转换为字符串 Since it is a string, you should convert it to a valid date value using STR...

将日期存储为字符串始终是一个坏主意。 这是高度文化特定的! 您可以将格式化的字符串日期转换为如下所示的实际日期: DECLARE @DateMMDDYYYY VARCHAR(100)='12312016';

SELECT CONVERT(DATE,STUFF(STUFF(@DateMMDDYYYY,5,0,'-'),3,0,'-'),110)

转换后,您的排序(以及TOP 100 )应该按预期工作。 我的强烈建议:尝试将您的日期存储在实际日期类型的列中,以避免出现这种情况! It is alw...

您可以将日期转换为日期格式为“MMdd”的字符串(例如“0915”),而不是日期格式“MMMM d”(例如“9月15日”)。 然后,您可以在当前日期,开始日期和到期日期之间进行简单的字符串比较。 例如, "0915" < "1019" < "1220"

所以10月19日是9月15日到12月20日。 Instead of the date format "MMMM d" (e.g. "September 15"), you can convert the dates to a string wit...

您正在寻找的SQL我相信是: WHERE STR_TO_DATE(column, '%m/%/d/%Y')

BETWEEN STR_TO_DATE(column, '%m/%/d/%Y')

AND STR_TO_DATE(column, '%m/%/d/%Y')

MySQL有一个STR_TO_DATE函数,您可以使用它将字符串解析为MySQL中的日期对象。 然后您可以使用between关键字进行比较。 我的建议是以毫秒格式存储您的日期。 它将减少混乱和麻烦,并且它也是许多编码语言的标准。 它还...

相关文章

今天用for循环产生多条线程去缓存里面取数据,数据就是字符串形式的日期,我如果用for循环连续的产生线

...

请问date型变量为2010-07-01类型,我想把date型变量的年取利用下面的语句 select

...

命令格式: SET key value 把字符串值value存储到key中。如果存在此key,SE

...

Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提

...

我想遍历一个字符串的每一个字符,以前是用string.toCharArray()来转换成一个char[

...

相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志

...

Java 日期时间 java.util包提供了Date类来封装当前的日期和时间。 Date类提供

...

利用PreparedStatement执行插入,更新的操作时候: 如: PreparedState

...

最新问答

如果启用了复制处理程序,请确保将其置于其中一个安全角色之后。 我见过人们做的另一件事是在不同的端口上运行admin。 最好在需要auth的页面上使用SSL,这样你就不会发送明确的密码,因此管理和复制将发生在8443上,而常规查询将在8080上发生。 如果您要签署自己的证书,请查看此有用的SO页面: 如何在特定连接上使用不同的证书? I didn't know that /admin was the context for SOLR admin because /admin does not re

第一:在您的样本中,您有: 但是你在询问 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大写'T')。 xpath区分大小写。 第二:通过查询// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一个'td'元素,而它们是兄弟姐妹。 有很多方法可以在这里获得制作和模型

这是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;

问题是,在启用Outlook库引用的情况下, olMailItem是一个保留常量,我认为当您将Dim olMailItem as Outlook.MailItem ,这不是问题,但是尝试设置变量会导致问题。 以下是完整的解释: 您已将olMailItem声明为对象变量。 在赋值语句的右侧,在将其值设置为对象的实例之前,您将引用此Object 。 这基本上是一个递归错误,因为你有对象试图自己分配自己。 还有另一个潜在的错误,如果之前已经分配了olMailItem ,这个语句会引发另一个错误(可能是

我建议使用wireshark http://www.wireshark.org/通过记录(“捕获”)设备可以看到的网络流量副本来“监听”网络上发生的对话。 当您开始捕获时,数据量似乎过大,但如果您能够发现任何看起来像您的SOAP消息的片段(应该很容易发现),那么您可以通过右键单击并选择来快速过滤到该对话'关注TCP Stream'。 然后,您可以在弹出窗口中查看您编写的SOAP服务与Silverlight客户端之间的整个对话。 如果一切正常,请关闭弹出窗口。 作为一个额外的好处,wireshar

Android默认情况下不提供TextView的合理结果。 您可以使用以下库并实现适当的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/

你的代码适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下载到c:\ temp \ apples.java。 以下是我编译和运行的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV

12个十六进制数字(带前导0x)表示48位。 那是256 TB的虚拟地址空间。 在AMD64上阅读wiki(我假设你在上面,对吗?)架构http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar

这将取决于你想要的。 对象有两种属性:类属性和实例属性。 类属性 类属性对于类的每个实例都是相同的对象。 class MyClass: class_attribute = [] 这里已经为类定义了MyClass.class_attribute ,您可以使用它。 如果您创建MyClass实例,则每个实例都可以访问相同的class_attribute 。 实例属性 instance属性仅在创建实例时可用,并且对于类的每个实例都是唯一的。 您只能在实例上使用它们。 在方法__init__中定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值