字符串类型的日期如何比较大小
来源:互联网 发布:淘宝lol龙瞎多少钱 编辑:程序博客网 时间:2024/04/29 13:00
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()))
个人认为第二种方法更加保险一些。
- 字符串类型的日期如何比较大小
- sqlserver2000中字符串类型的日期如何比较大小
- sql server中字符串类型的日期如何比较大小
- sql server2000 中字符串类型的日期如何比较大小
- sqlserver2000中字符串类型的日期如何比较大小
- sql server中字符串类型的日期如何比较大小
- sql server中字符串类型的日期如何比较大小
- sqlserver2000中字符串类型的日期如何比较大小
- yyyy-MM-dd类型的日期字符串比较大小
- 日期类型大小比较
- String 类型 日期时间大小的比较
- 字符串格式的日期比较大小
- SQL Server 如何比较日期的大小
- Mysql日期类型大小比较
- Mysql日期类型大小比较
- C#中如何比较2个string类型的日期大小?
- C#中如何比较2个string类型的日期大小?
- 【js】日期字符串比较大小
- jquery.cookie.js使用介绍
- .NET审批组建的开发
- 判别式模型与生成式模型的区别
- .NET总结
- Moravec算子总结
- 字符串类型的日期如何比较大小
- A*寻路算法入门(五)
- 为什么 Eclipse 里的 Classpath Variables M2_REPO 无法修改(non modifiable)?
- glEnable/glDisable,glBlendFunc,glMatrixMode,glLoadIdentity
- 系统配置内存缓存SystemConfiguration
- 多线程堆排序算法C语言实现
- FileUtils
- unit9 practice
- Linux下C编程对目录的增删改查操作