`
uule
  • 浏览: 6352897 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

字符串类型的日期如何比较大小

 
阅读更多

 sql server中字符串类型的日期如何比较大小 

 

如果在数据库(sql)中将保存日期的字段的数据类型设置为varchar,而你又需要对这个日期和另外一个日期进行比较,那么该怎么办呢?
第一种方法很容易想到,就是纯粹地利用字符串来比较大小,比如有一个字段为adddate,其数据类型为varchar,要比较这个日期是不是大于某个日期,比如"2006-12-23",那么可以直接写:
where adddate>'2006-12-23',这种方法很直观,当然也需要在格式上有所规范,比如,如果日期是2006年3月3日,就必须将日期保存为2006-03-03,否则比较的时候容易出错。


第二种方法则可以利用sql提供的日期转换函数了。
 CONVERT (<data_ type>[ length ], <expression> [, style])
1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
上图中GETDATE()函数是以DATETIME 的缺省格式返回系统当前的日期和时间 。
如果用这种方法来判断某一个字段的话,则存入的日期字段的字符串格式只要是能让sql server完成对日期的转换就可以了,而不一定要像第一种方法中的那样严格。
还是说adddate字段,比如要比较它是否大于当前的日期,就可以这样写:
where (CONVERT(varchar, adddate) >= CONVERT(varchar, GETDATE()))
个人认为第二种方法更加保险一些。

分享到:
评论

相关推荐

    日期比较大小

    然而,由于日期通常以字符串形式存储或传输,因此需要将其转换为可以进行数值比较的格式,这便是“日期比较大小”的核心所在。 ### 实现方法:Java示例 在给定的代码片段中,展示了一种使用Java语言比较两个日期...

    C#字符串类型处理总结

    1. **字符串比较**:使用`CompareTo`方法可以比较两个字符串的大小。`stringA.CompareTo(stringB)`会返回一个整数值,小于0表示`stringA`小于`stringB`,等于0表示两者相等,大于0则表示`stringA`大于`stringB`或`...

    php实现比较两个字符串日期大小的方法

    为了比较两个字符串日期的大小,我们需要将其转换为可以进行数值比较的形式。PHP的`strtotime()`函数非常有用,它可以将日期字符串转化为Unix时间戳,这是一个从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。 ...

    Freemarker_内置函数_数字、字符串、日期格式化.txt

    根据提供的文件信息,我们可以深入探讨Freemarker中的内置函数,主要关注数字、字符串以及日期的格式化处理。Freemarker是一种强大的模板引擎,被广泛应用于Web开发和其他领域中,用于生成动态HTML页面或其他类型的...

    纯JS方法比较日期之间大小(实用)

    接下来,通过`split`方法将日期字符串分割成年、月、日三部分,并将其转换为数字类型。 ```javascript var startTimes = startTime.split("-"); var sourceYear = startTimes[0]; var sourceMon = startTimes[1]; ...

    Delphi开发技巧之-字符串

    检查字符串是否为有效的日期或时间值 检查字符串是否为有效的浮点数 检查字符串是否数字 比较两个字符串的匹配程度 用二进制方式显示值 用十六进制方式显示值 编码解码Base64字符串 计算字符串中的字数 读取字符串...

    计算时间差以及比较日期大小

    根据给定的信息,本文将详细解释如何在Java中计算两个日期之间的时间差,并演示...以上就是关于在Java中计算两个日期之间的时间差以及比较日期大小的详细说明。这些方法可以帮助开发者更好地处理与日期相关的业务逻辑。

    asp日期比较大小实例

    - CDate() 是ASP中的一个内置函数,用于将文本字符串转换为日期或时间类型的值。 - 示例:`a = cdate("2010-6-10 18:30:00")` 2. **Date() 函数**: - Date() 函数用于返回当前系统日期。 - 示例:`b = date()`...

    JS实现字符串转日期并比较大小实例分析

    本文将通过两个实例来讲解如何使用JavaScript实现字符串到日期的转换,并进行大小比较。 首先,我们来看第一个实例: ```javascript function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring...

    文件大小和最后修改日期的转换

    根据给定的文件信息,我们可以总结出以下关于“文件大小和最后修改日期的转换”的相关知识点: ### 一、文件最后修改日期的获取与格式化 #### 1. 获取文件最后修改时间 在Java中,可以通过`java.io.File`类中的`...

    C语言中的字符串数组和字符串指针.pdf

    如文中所示的NumToStr函数,可以将星期的整数编号转换为星期的字符串表示,这样的操作在处理日期和时间等场景时非常实用。这是因为字符串指针初始化的字符串常量被存放在程序的存储空间,而在程序编译时就已经确定了...

    探索Delphi的字符串魔力:深入字符串操作的艺术

    这与一些静态字符串类型的编程语言形成了对比,后者通常在声明时就需要指定固定大小。 ### Unicode 支持 随着全球化的需求日益增加,Delphi 对 Unicode 的支持使其能够轻松地处理多种语言的字符。这意味着开发者...

    .NET标准格式数字字符串

    `ToString()`方法是.NET中用于将各种类型的数据转换为字符串的关键工具,特别是对于数字类型。在这个主题中,我们将深入探讨如何使用`ToString()`方法与标准数值格式化说明来格式化数字字符串,以及如何处理特定的...

    SQL Server 比较日期大小的方法

    总的来说,SQL Server中比较日期大小的关键在于理解日期数据的正确处理方式,包括使用正确的比较运算符、理解`BETWEEN`的用法,以及在需要时运用`CONVERT()`函数将字符串转换为日期。避免将日期作为字符串处理,以...

    字符串数组 matlab

    在MATLAB中,字符串数组是一种专门用来存储文本数据的数据类型。与传统的字符数组(char)不同,字符串数组允许更灵活的处理文本,特别是处理含有不同长度的字符串时。字符串数组的每个元素可以看作是一个独立的字符串...

    matlab数组字符串(可运行)

    - 使用`strings`函数可以预分配特定大小的字符串数组,如`str = strings(2,3)`创建一个2x3的空字符串数组。 8. **长度和字符数量**: - `strlength`函数计算字符串中的字符数,如`L = strlength(str)`。 - 注意...

    matlab字符串数组string的基础讲解含代码

    MATLAB中的字符串数组是用于存储文本数据的数据类型,它由一个或多个字符串元素组成,每个元素可以包含不同长度的字符序列。字符串数组的概念引入是为了更方便地处理文本数据,同时保持MATLAB中数组操作的一致性。 ...

    详解Mysql中日期比较大小的方法

    例如,如果你有一个名为`add_time`的`datetime`类型的字段,你可以直接与格式为`YYYY-MM-DD`的字符串进行比较,如`'2013-01-12'`。但如果`add_time`字段包含时间信息(如`'2013-01-12 23:23:56'`),你应该使用`DATE...

Global site tag (gtag.js) - Google Analytics