工作当中日期排序的一个问题
2005-02-23 16:35
363 查看
有Table1 表
表结构:
MemberID int ,Year char(4), Month varchar(2), Day varchar(2), Content varchar(60)
现在需要1900年3月的1 日到31 日进行排序:
因为Day是varchar类型
如果
select * from Table1 where Year='1900' and Month='3' order by Day
排序是不是想要的,Day字段显示:
1
11
2
21
......
还是无序显示
为了解决这个问题,使用如下SQL语句:
select * from table1 where Year=1900 and Month=2 order by CONVERT(int,Day)
select CONVERT(int,Day) AS iDay FROM table1 where Year=1900 and Month=2 order by iDay
问题解决
select A5105 from LGBPInfo
假设 A5105是DateTime字段类型 显示:1905-03-13 00:00:00.000
修改
select convert(varchar(10),A5105,111) from LGBPInfo 显示:1905/03/13 帮助里面说是 日本格式
select convert(varchar(10),A5105,101) from LGBPInfo 显示 03/13/1905 美国格式
就是没有找到中国格式,只能凑合着用了
2006-1-20
Log 1:
工作中的一条Sql
select CheckManage_Guid,ExameID,case Convert(nvarchar,ExameDate,111) when '1900/01/01' then '' else Convert(nvarchar,ExameDate,111) end as ExameDate,Exameplace,ID,Examename,ExameContect,ExameResult,DealResult
from szcm_SR_CheckManage
where IsDel=0 order by Examename
这里
case Convert(nvarchar,ExameDate,111) when '1900/01/01' then '' else Convert(nvarchar,ExameDate,111) end as ExameDate
是实现日期的转换
szcm_SR_CheckManage 的表结构是:
表结构:
MemberID int ,Year char(4), Month varchar(2), Day varchar(2), Content varchar(60)
现在需要1900年3月的1 日到31 日进行排序:
因为Day是varchar类型
如果
select * from Table1 where Year='1900' and Month='3' order by Day
排序是不是想要的,Day字段显示:
1
11
2
21
......
还是无序显示
为了解决这个问题,使用如下SQL语句:
select * from table1 where Year=1900 and Month=2 order by CONVERT(int,Day)
select CONVERT(int,Day) AS iDay FROM table1 where Year=1900 and Month=2 order by iDay
问题解决
select A5105 from LGBPInfo
假设 A5105是DateTime字段类型 显示:1905-03-13 00:00:00.000
修改
select convert(varchar(10),A5105,111) from LGBPInfo 显示:1905/03/13 帮助里面说是 日本格式
select convert(varchar(10),A5105,101) from LGBPInfo 显示 03/13/1905 美国格式
就是没有找到中国格式,只能凑合着用了
2006-1-20
Log 1:
工作中的一条Sql
select CheckManage_Guid,ExameID,case Convert(nvarchar,ExameDate,111) when '1900/01/01' then '' else Convert(nvarchar,ExameDate,111) end as ExameDate,Exameplace,ID,Examename,ExameContect,ExameResult,DealResult
from szcm_SR_CheckManage
where IsDel=0 order by Examename
这里
case Convert(nvarchar,ExameDate,111) when '1900/01/01' then '' else Convert(nvarchar,ExameDate,111) end as ExameDate
是实现日期的转换
szcm_SR_CheckManage 的表结构是:
相关文章推荐
- 项目查询日期的一个小问题
- 一个简单的排序问题
- 今天工作中发现一个问题,看算不算BUG,如何解释这种现象。
- J2ME中处理日期相关问题以及收藏一个日期处理类(忽略时间)
- 问题描述大概如下:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 谈一个Kernel32当中的ANSI到Unicode转换的问题
- 工作问题-java-一个好用的正则表达式
- 这几天的微小工作,用react写了一个可以响应变化备注框,还有一点点小问题
- ElasticSearch42:初识搜索引擎_揭秘如何将一个field索引两次来解决字符串排序问题
- js 跨域的问题 (同一个主域名不同的二级域名下的跨域问题) 解决 WdatePicker.js my97日期选择控件
- 指定序的排序问题,记一个学生的问题
- 关于日期格式化的一个小问题
- 工作日记2017.10.30 MySQL的日期存储'1970-01-01 08:00:00' 问题
- 分享一个在工作中遇到的一个问题的解决方案
- ######crm01_最快速:搭建纯注解ssh整合环境(只用一个Spring配置)素材提供jar包,只有两步工作:①写Spring配置②写ssh注解+简单逻辑=遇到action创建失败问题
- 工作中图片上传遇到的一个问题
- perl高级排序中遇到的一个问题
- java中TreeMap自定义排序以及一个键对应多个值问题
- 一个检索最近日期的采购价的问题