黑马程序员技术交流社区

标题: SQL Date日期问题 [打印本页]

作者: 谭威    时间: 2012-6-5 16:25
标题: SQL Date日期问题
‘ 2012-06-05’ 这种类型的日期怎么和      ‘2012-6-5’这种类型的日期相比较。。遇到一个问题。从日历控件上取到的日期全是‘ 2012-6-5’  但是要拿到数据库中和自己手动插入的值‘2012-06-05’比较是不同的
该怎么转化呢


作者: 朱亮辉    时间: 2012-6-5 17:06
解决方案
1、控件可以更改时间格式的,可以改为2012-06-05这样的数据的进行比较
2、C#时间格式化将数据库中的值转换为2010-6-5进行比较,附代码:
DateTime d = new DateTime(2012,06,05);
Console.WriteLine( d.ToString("yyyy-M-d"));
3、将数据库中的值转换为2010-6-5进行比较
CAST(DatePart(year,'2012-06-05 22:56:32') as VARCHAR)+'-'+CAST(DatePart(month,'2012-06-05 22:56:32')as VARCHAR)+'-'+CAST(DatePart(day,'2012-06-05 22:56:32')as VARCHAR)

可以直接在SQL Server中运行一下这句SQL 语句看看效果
SELECT CAST(DatePart(year,'2012-06-05 22:56:32') as VARCHAR)+'-'+CAST(DatePart(month,'2012-06-05 22:56:32')as VARCHAR)+'-'+CAST(DatePart(day,'2012-06-05 22:56:32')as VARCHAR)
作者: 何拴绪    时间: 2012-6-5 17:44
可以将日期转化为毫秒数比较。
作者: 朱亮辉    时间: 2012-6-5 22:01
何拴绪 发表于 2012-6-5 17:44
可以将日期转化为毫秒数比较。

楼主的问题你都不明白!
作者: 刘豪    时间: 2012-6-5 22:22
可以对控件的数据处理,转换成标准形式,再去比较不就行了。
作者: 何拴绪    时间: 2012-6-5 22:57
朱亮辉 发表于 2012-6-5 22:01
楼主的问题你都不明白!

不好意思!!!!
作者: 王国文    时间: 2012-6-6 14:14
楼主可以把时间转换成标准的    textBox1.Text = DateTime.Now.ToString("yyyy_MM_dd");
用tostring格式化输出
作者: 谭威    时间: 2012-6-6 15:47
非常感谢你们的回答。不过我自己找到解决方案了  cast(convert(varchar,LeaveDate,111)as datetime) 这个函数可以搞定
作者: 王针    时间: 2012-6-7 12:25
刚刚在控制台输出DateTime,结果如下。(仅供参考)
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡


DateTime datetime = DateTime.Now;

今天是2012年6月7日
datetime.ToString():           2012/6/7 12:23:21
datetime.ToString("D"):        2012年6月7日
datetime.ToString("d"):        2012/6/7
datetime.ToString("F"):        2012年6月7日 12:23:21
datetime.ToString("f"):        2012年6月7日 12:23
datetime.ToString("G"):        2012/6/7 12:23:21
datetime.ToString("g"):        2012/6/7 12:23
datetime.ToString("M"):        6月7日
datetime.ToString("m"):        6月7日
datetime.ToString("o"):        2012-06-07T12:23:21.7711369+08:00
datetime.ToString("r"):        Thu, 07 Jun 2012 12:23:21 GMT
datetime.ToString("s"):        2012-06-07T12:23:21
datetime.ToString("T"):        12:23:21
datetime.ToString("t"):        12:23
datetime.ToString("U"):        2012年6月7日 4:23:21
datetime.ToString("u"):        2012-06-07 12:23:21Z
datetime.ToString("y"):        2012年6月
datetime.ToString("yy"):       12
datetime.ToString("yyy"):      2012
datetime.ToString("yyyy"):     2012
datetime.ToString("M"):        6月7日
datetime.ToString("MM"):       06
datetime.ToString("MMM"):      六月
datetime.ToString("MMMM"):     六月
datetime.ToString("d"):        2012/6/7
datetime.ToString("dd"):       07
datetime.ToString("ddd"):      周四
datetime.ToString("dddd"):     星期四
datetime.ToString("hh"):       12
datetime.ToString("HH"):       12
datetime.ToString("m"):        6月7日
datetime.ToString("mm"):       23
datetime.ToString("s"):        2012-06-07T12:23:21
datetime.ToString("ss"):       21
datetime.ToString("y-MM"):     12-06
datetime.ToString("yy-MM"):    12-06
datetime.ToString("dddd"):     星期四
datetime.ToString("MMMM"):     六月
datetime.ToString("dddd, MMMM dd yyyy"):       星期四, 六月 07 2012
datetime.ToString("ddd, MMM d "'"yy"): 周四, 六月 7 '12
datetime.ToString("dddd, MMMM dd"):    星期四, 六月 07
datetime.ToString("M/yy"):     6/12
datetime.ToString("dd-MM-yy"): 07-06-12





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2