SQL Server 2008:从日期时间获取日期/时间
问题描述:
那么,我的问题是,我只想显示每个列的日期和时间,我真的不知道该怎么做。我使用的数据库是不是我的,我不能改变字段的数据类型...SQL Server 2008:从日期时间获取日期/时间
这里是我的查询:
SELECT CAT_COURT.COURT_DESCRIPTION, AGENDA.SCHEDULE_DATE, AGENDA.SCHEDULE_TIME
FROM AGENDA JOIN CAT_COURT ON AGENDA.ID_COURT=CAT_COURT.ID_COURT
WHERE SCHEDULE_DATE = CAST(GETDATE() AS DATE) AND CAT_COURT.ID_COURT=CAT_COURT.ID_COURT
这里是结果:
| COURT_DESCRIPTION | SCHEDULE_DATE | SCHEDULE_TIME |
|-------------------+--------------------------+------------------------ |
| COURT1 | 2016-07-22 00:00:00.000 | 1900-01-01 10:00:00.000 |
| COURT2 | 2016-07-22 00:00:00.000 | 1900-01-01 10:00:00.000 |
| COURT3 | 2016-07-22 00:00:00.000 | 1900-01-01 12:00:00.000 |
| COURT4 | 2016-07-22 00:00:00.000 | 1900-01-01 13:30:00.000 |
但我想说明是这样的:
| COURT_DESCRIPTION | SCHEDULE_DATE | SCHEDULE_TIME |
|-------------------+---------------+---------------|
| COURT1 | 2016-07-22 | 10:00:00.000 |
| COURT2 | 2016-07-22 | 10:00:00.000 |
| COURT3 | 2016-07-22 | 12:00:00.000 |
| COURT4 | 2016-07-22 | 13:30:00.000 |
谁能帮助我?
答
简单的日期转换会给理想的结果
SELECT CAT_COURT.COURT_DESCRIPTION,
convert(varchar(10),AGENDA.SCHEDULE_DATE,120)SCHEDULE_DATE,
CONVERT(VARCHAR(8),AGENDA.SCHEDULE_DATE, 108)SCHEDULE_Time
FROM AGENDA
JOIN CAT_COURT
ON AGENDA.ID_COURT=CAT_COURT.ID_COURT
WHERE
SCHEDULE_DATE = CAST(GETDATE() AS DATE) AND CAT_COURT.ID_COURT=CAT_COURT.ID_COURT
这是否帮助你吗? http://stackoverflow.com/questions/889629/how-to-get-a-date-in-yyyy-mm-dd-format-from-a-tsql-datetime-field –
关于SO有几个类似的问题这 - 这是一个时间:http://stackoverflow.com/questions/7710449/how-to-get-time-from-datetime-format-in-sql;这里是一个日期:http://stackoverflow.com/questions/113045/how-to-return-the-date-part-only-from-a-sql-server-datetime-datatype – sgeddes
我已经尝试过这些解决方案,但我不知道如何在自己的查询中执行此操作:/ –