mysql - 日期时间字符串到日期、输入时间和输出时间

标签 mysql sql string datetime format

我有这样的考勤记录表

+----------------+---------+-----------------------+
| NIP            | Nama    | Date_Time             |
+----------------+---------+-----------------------+
| 050803075201   | Supomo  | 2013-02-20 07:45:57   | 
| 050803075201   | Supomo  | 2013-02-20 17:24:13   | 
| 050803075201   | Supomo  | 2013-02-21 07:53:40   | 
| 050803075201   | Supomo  | 2013-02-21 17:31:57   | 
| 050803075200   | Teguh   | 2013-02-21 20:31:02   | 
| 050803075200   | Teguh   | 2013-02-20 18:18:07   | 
+----------------+---------+-----------------------+

Date_Time 为字符串格式。

然后我想把它做成这样的表:

+----------------+---------+-------------+-------------+-------------+
| NIP            | Nama    | Date        | In          | Out         |
+----------------+---------+-------------+-------------+-------------+
| 050803075200   | Teguh   | 2013-02-21  |             | 18:18:07    |
| 050803075200   | Teguh   | 2013-02-20  |             | 20:31:02    | 
| 050803075201   | Supomo  | 2013-02-20  | 07:45:57    | 17:24:13    | 
| 050803075201   | Supomo  | 2013-02-21  | 07:53:40    | 17:31:57    |
+----------------+---------+-------------+-------------+-------------+

什么查询会执行此操作?

最佳答案

<强> Here is the SQLFiddel Demo

下面是查询

select NIP,
       Nama,
       DATE_FORMAT(Date_Time, '%Y-%m-%d') as date,
       Case Min(Date_Time) 
         When Max(Date_Time) 
          Then '' 
         Else DATE_FORMAT(Date_Time, '%H:%i:%s') 
       End as InTime,

       DATE_FORMAT(max(Date_Time), '%H:%i:%s') as OutTime
  from Attd
 Group By NIP,
       Nama,
       DATE_FORMAT(Date_Time, '%Y-%m-%d')

关于mysql - 日期时间字符串到日期、输入时间和输出时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227191/

相关文章:

php - 找不到 Pear DB 类

php - 安装表并防止 2 列的重复输入

sql - 旋转单行列 T-SQL

python - 编写程序来计算不同的字母

mysql - MySQL选择哪个引擎

php - 给出警告 : mysqli_error() expects exactly 1 parameter, 0

php - 从一个表中选择表行,其中另一个表中表列的值为 x

sql - 如何安全地将 varchar(255) 转换为 int?

c# - 正则表达式根据多次检查取值

javascript - 如何检查 JavaScript 中的字符串中是否存在任何数字或字母?