GVKun编程网logo

mysql TIMESTAMPDIFF函数

3

如果您对mysqlTIMESTAMPDIFF函数感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解mysqlTIMESTAMPDIFF函数的各种细节,此外还有关于Can''tconnecttolo

如果您对mysql TIMESTAMPDIFF函数感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解mysql TIMESTAMPDIFF函数的各种细节,此外还有关于Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?的实用技巧。

本文目录一览:

mysql TIMESTAMPDIFF函数

mysql TIMESTAMPDIFF函数

下面说明了TIMESTAMPDIFF函数的语法。

TIMESTAMPDIFF(unit,begin,end);

TIMESTAMPDIFF函数返回begin-end的结果,其中beginend是DATE或DATETIME表达式。

TIMESTAMPDIFF函数允许其参数具有混合类型,例如,beginDATE值,end可以是DATETIME值。 如果使用DATE值,则TIMESTAMPDIFF函数将其视为时间部分为“00:00:00”DATETIME值。

unit参数是确定(end-begin)的结果的单位,表示为整数。 以下是有效单位:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

MySQL TIMESTAMPDIFF函数示例

以下示例将以月份值的形式返回2018-01-012018-06-01的差值:

  1.  
    mysql> SELECT TIMESTAMPDIFF(MONTH, ''2018-01-01'', ''2018-06-01'') result;
  2.  
    + --------+
  3.  
    | result |
  4.  
    + --------+
  5.  
    | 5 |
  6.  
    + --------+
  7.  
    1 row in set

如果您希望看到差值,只需要将unit参数从MONTH更改为DAY,如下所示:

  1.  
    mysql> SELECT TIMESTAMPDIFF(DAY, ''2010-01-01'', ''2010-06-01'') result;
  2.  
    + --------+
  3.  
    | result |
  4.  
    + --------+
  5.  
    | 151 |
  6.  
    + --------+
  7.  
    1 row in set

以下语句返回两个DATETIME值(以分钟为单位)的差异值:

  1.  
    mysql> SELECT TIMESTAMPDIFF(MINUTE, ''2018-01-01 10:00:00'', ''2018-01-01 10:45:00'') result;
  2.  
    + --------+
  3.  
    | result |
  4.  
    + --------+
  5.  
    | 45 |
  6.  
    + --------+
  7.  
    1 row in set

请注意,TIMESTAMPDIFF仅考虑与unit参数相关的时间部分。 请参阅以下示例:

  1.  
    mysql> SELECT TIMESTAMPDIFF(MINUTE, ''2018-01-01 10:00:00'', ''2018-01-01 10:45:59'') result;
  2.  
    + --------+
  3.  
    | result |
  4.  
    + --------+
  5.  
    | 45 |
  6.  
    + --------+
  7.  
    1 row in set

差值应该是45分59秒。 但是,我们将unit参数传递为MINUTE,因此,函数按预期返回45分钟。

如果使用SECOND而不是MINUTE,则TIMESTAMPDIFF函数将考虑SECOND部分,如以下示例所示:

  1.  
    mysql> SELECT TIMESTAMPDIFF(SECOND, ''2018-01-01 10:00:00'', ''2018-01-01 10:45:59'') result;
  2.  
    + --------+
  3.  
    | result |
  4.  
    + --------+
  5.  
    | 2759 |
  6.  
    + --------+
  7.  
    1 row in set

 

注:45分59秒= 45×60 + 59(秒)= 2759秒

使用MySQL TIMESTAMPDIFF函数计算年龄

首先,我们创建一个名为persons的新表,用于演示。

  1.  
    USE testdb;
  2.  
    CREATE TABLE persons (
  3.  
    id INT AUTO_INCREMENT PRIMARY KEY,
  4.  
    full_name VARCHAR(255) NOT NULL,
  5.  
    date_of_birth DATE NOT NULL
  6.  
    );

其次,向persons表中插入一些行:

  1.  
    INSERT INTO persons(full_name, date_of_birth)
  2.  
    VALUES(''John Doe'', ''1990-01-01''),
  3.  
    ( ''David Taylor'', ''1989-06-06''),
  4.  
    ( ''Peter Drucker'', ''1985-03-02''),
  5.  
    ( ''Lily Minsu'', ''1992-05-05''),
  6.  
    ( ''Mary William'', ''1995-12-01'');

第三步,使用TIMESTAMPDIFF来计算persons表中每个人的年龄:

  1.  
    SELECT
  2.  
    id,
  3.  
    full_name,
  4.  
    date_of_birth,
  5.  
    TIMESTAMPDIFF(YEAR,
  6.  
    date_of_birth,
  7.  
    ''2018-01-01'') age
  8.  
    FROM
  9.  
    persons;

执行上面查询语句,得到以下结果 -

  1.  
    +----+---------------+---------------+-----+
  2.  
    | id | full_name | date_of_birth | age |
  3.  
    +----+---------------+---------------+-----+
  4.  
    | 1 | John Doe | 1990-01-01 | 28 |
  5.  
    | 2 | David Taylor | 1989-06-06 | 28 |
  6.  
    | 3 | Peter Drucker | 1985-03-02 | 32 |
  7.  
    | 4 | Lily Minsu | 1992-05-05 | 25 |
  8.  
    | 5 | Mary William | 1995-12-01 | 22 |
  9.  
    +----+---------------+---------------+-----+
  10.  
    5 rows in set

在此语句中,我们计算到2018-01-01日为止的年龄。如果要计算当前年龄,可以通过NOW函数替换字面值''2018-01-01'',如下所示:

  1.  
    SELECT
  2.  
    id,
  3.  
    full_name,
  4.  
    date_of_birth,
  5.  
    TIMESTAMPDIFF(YEAR,
  6.  
    date_of_birth,
  7.  
    NOW()) age
  8.  
    FROM
  9.  
    persons;

执行上面查询语句,得到以下结果 -

  1.  
    + ----+---------------+---------------+-----+
  2.  
    | id | full_name | date_of_birth | age |
  3.  
    + ----+---------------+---------------+-----+
  4.  
    | 1 | John Doe | 1990-01-01 | 27 |
  5.  
    | 2 | David Taylor | 1989-06-06 | 28 |
  6.  
    | 3 | Peter Drucker | 1985-03-02 | 32 |
  7.  
    | 4 | Lily Minsu | 1992-05-05 | 25 |
  8.  
    | 5 | Mary William | 1995-12-01 | 21 |
  9.  
    + ----+---------------+---------------+-----+
  10.  
    5 rows in set
     
    https://blog.csdn.net/moakun/article/details/82528187

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

 

 

 

原因:系统盘满了

[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

解决:

删除大文件后,重启系统解决

 

 

[root@localhost mysql]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is not running.
ProFTPD is running.

 

df: 未处理文件系统
[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

 

 

[root@localhost ~]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is running.
ProFTPD is running.

 

 

 

xampp 无法启动mysql 找不到mysql.sock

  (2016-02-24 23:21:24)
转载
  分类: 技术
出现的问题:
如果xampp中的mysql启动不了,出现ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)报错,
停止xampp的时候报:
-bash-4.1# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.2-6...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
fail.

解决办法:
如果网上一些方法不好用的话,可以试试以下方法:
1. 确定系统盘是否满了
#df -h
2. 删除/opt/lampp目录中的pid文件(删掉后xampp重启时会重建,如果不放心,可以先备份lampp目录)
删除mysql相关缓存:
#rm -rf /opt/lampp/var/mysql/VM_*  
删除proftp相关缓存:
#rm -rf /opt/lampp/var/proftpd.pid
如果找不到pid文件,可以搜一下:
#find /opt/lampp -name ''*.pid''

 

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

MySQL已经被我移到数据盘了,本地连接数据库会报错:Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

但是远程是可以连接的,my.cnf设置mysql的根目录也改成了数据盘的地址,还要在加上client的参数,设置如下:

[client]
socket = /home/data/mysql/mysql.sock

之后重启下mysql就可以了

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

亲,是不是忘记了开MysqL服务,service MysqLd start

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

这里的

[Service]

User=mysql

Group=mysql,

user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?还是其他呢?

今天的关于mysql TIMESTAMPDIFF函数的分享已经结束,谢谢您的关注,如果想了解更多关于Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?的相关知识,请在本站进行查询。

本文标签: