如果在数据库(sql)中将保存日期的字段的数据类型设置为varchar,而你又需要对这个日期和另外一个日期进行比较,那么该怎么办呢?
第一种方法:

很容易想到,就是纯粹地利用字符串来比较大小,比如有一个字段为vote_time,其数据类型为varchar,要比较这个日期是不是大于某个日期,比如"2006-02-23",那么可以直接写:
where vote_time>'2006-02-23',这中方法很直观,当然也需要在格式上有所规范,比如,如果日期是2006年3月3日,就必须将日期保存为2006-03-03,否则比较的时候容易出错。

第二种方法:使用类型转换函数convert()

1、首先说明不需要类型转换,并可以正确比较的情况

如果只是比较varchar类型的时间值与日期类型的值比较

select * from voter where vote_time>getdate()会自动转换varchar为datetime类型(2009-2-27转换为2009-02-27),并进行比较,所以2009-1-15并为出现在结果集中

第一种情况下,之所以没有正确是因为系统认定'2006-02-23'为字符串,所以进行的比较是按照比较两个字符串的大小进行的,依次按位比较

2、如果是varchar类型的时间值,按照时间先后排序,则需要转换varchar为datetime后再排序

转换前

转换格式前排序时,时间2007-02-28 06:30:000实际比2007-2-27 06:30:000迟,但是却排在了前面。转换后

结果已经是按照实际时间的先后顺序从早到晚排序了

注:插入的varchar时间值必需是合法的(如2009-2-30就是不合法的日期,2月没有30号)否则,转换时会有错误:从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。输入日期的时候,可以选择使用日期控件,这样就不会输入不存在的日期了

转载于:https://www.cnblogs.com/htys/p/3461881.html

sqlserver2000中字符串类型的日期如何比较大小相关推荐

  1. 字符串类型的日期如何存储到数据库Date类型的字段中

    public class ProjectDAO {private static final String insert = "insert into t_project(no,name,st ...

  2. MySQL 基础 -- MySQL 数据类型说明(数值类型、字符串类型、日期时间类型)、SQL通用语法和SQL分类

    文章目录 1. 数据类型说明(数值类型.字符串类型.日期时间类型) 1.1数值类型 1.2 字符串类型 1.3 日期类型 1.4 数据类型练习:设计一张员工信息表 2. SQL通用语法和SQL分类 2 ...

  3. js中字符串类型转化toString、parseInt、parseFloat、Number

    全栈工程师开发手册 (作者:栾鹏) js系列教程3-字符串.正则表达式全解 js中字符串类型转化 其他类型转化为字符串: 代码如下: var num= 19; // 19 var myStr = nu ...

  4. js中字符串类转为日期类,并比较

    var curTime = new Date();console.log("%o",curTime);//把字符串格式转化为日期类var starttime = new Date( ...

  5. python中字符串类型的encode()方法_第五章 Python字符串常用方法详解

    5.1 Python字符串拼接(包含字符串拼接数字) 在 Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为: strname = "str1" ...

  6. java中各种类型所占内存空间大小

    一.常用类型占用内存大小 java中常用类型所占内存大小,以下值以实测为准. 类型 数量 大小 备注 byte 1 1B byte 1024 1KB int 1 4B int 1024 4KB boo ...

  7. MySQL数据类型中的二进制类型有_在MySQL数据类型中,常用的数据类型有()。A.()数值类型()B.()字符串类型()C.()日期时间类型()D.()二进制类型...

    [单选] 暗龙骨吊顶施工,采用膨胀螺栓固定吊挂杆件.不上人的吊杆,吊杆长度小于()mm时,可以采用φ6的吊杆. [单选] 营业税金及附加的具体内容不包括(). [单选] 一跨度为l=6m的简支梁上作用 ...

  8. MySQL中字符串类型的字段最大使用longtext来存储

    在MySQL中存储字符串文本,我们一般会使用varchar类型.如果文本内容很多,那我们会使用text.但是记住,text并不是MySQL中存储文本信息最大的字段.如果您的项目中text还不够用,那么 ...

  9. JS字符串类型转日期然后进行日期比较

    1.字符串转日期格式 1 var stringToDate = function(dateStr,separator){ 2 if(!separator){ 3 separator="-&q ...

  10. SQL Server 使用CONVERT()函数实现日期类型转换成字符串类型的日期格式,支持多种日期格式

    1 使用详解 CONVERT() 说明:把日期转换为新数据类型的通用函数,可以用不同的格式显示日期/时间数据. 语法: CONVERT(data_type(length),data_to_be_con ...

最新文章

  1. Unicode utf8等编码类型的原理
  2. Android Activtity Security
  3. QM法化简C语言程序,QM基础教程
  4. 开发人员需要了解的有关xPaaS的一切
  5. 运用python的方式_对Python使用mfcc的两种方式详解
  6. Jetty 与 Tomcat
  7. java 输出定位代码行_指定一个.java文件,输出其代码行数
  8. mysql服务器 配置文件,服务器上mysql编码配置文件
  9. cas server + cas client 单点登录 原理介绍
  10. JavaScript之语句
  11. 【树上贪心】Tree with Small Distances【codeforces-Round #506-div3-E】
  12. 英语学习框架(一) 英语音标
  13. 软件自动化测试优点,自动化测试的优势和劣势有哪些?
  14. 离线安装vscode
  15. OTT广告系统设计与实现
  16. 人才引进--我搭上了顺风车
  17. VBA-Excel中单元格的引用方法
  18. 铰链、弹簧,特殊的物理关节
  19. 接口隔离模式之Facade(门面模式)
  20. 艾永亮:美国最大面包连锁品牌如何通过超级产品战略成为行业第一

热门文章

  1. oracle从子表取出前几行数据:
  2. 【转】 测试人员的职业规划 --整理标注
  3. html + CSS
  4. 网络基础---网络层
  5. java web 程序---javaBean
  6. is-is中通告默认路由
  7. java深拷贝和浅拷贝
  8. 数据批量删除_从页面js到后台数据库
  9. 陈彬 2019-1-17
  10. zookeeper安装和基本操作