Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python pymysql和CURDATE()未正确扩展_Python_Mysql - Fatal编程技术网

python pymysql和CURDATE()未正确扩展

python pymysql和CURDATE()未正确扩展,python,mysql,Python,Mysql,是否有人在尝试运行以下查询时遇到此问题: import pymysql from pprint import pprint conn = pymysql.connect(.....) cur = conn.cursor() build_select = "SELECT CURDATE();" cur.execute(build_select) results = cur.fetchall() pprint(results) mysql> SELECT CURDATE(); +---

是否有人在尝试运行以下查询时遇到此问题:

import pymysql
from pprint import pprint

conn = pymysql.connect(.....)

cur = conn.cursor()

build_select = "SELECT CURDATE();"
cur.execute(build_select)
results = cur.fetchall()
pprint(results)
mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2016-02-02 |
+------------+
1 row in set (0.00 sec)
输出

((datetime.date(2016, 2, 2),),)
而在MySQL控制台中运行相同的查询时,您会得到以下输出?

import pymysql
from pprint import pprint

conn = pymysql.connect(.....)

cur = conn.cursor()

build_select = "SELECT CURDATE();"
cur.execute(build_select)
results = cur.fetchall()
pprint(results)
mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2016-02-02 |
+------------+
1 row in set (0.00 sec)

我觉得这很合理。MySQL和Python有不同的表示方式。由于
cur.fetchall()
返回这样的字符串对Python程序员没有多大帮助,因此它会将其转换为更容易处理的datetime对象。这是实际报表查询的一个非常精简的版本。。相反,这只是我确定要破碎的部分。理想情况下,我希望保留原始查询,并允许MySQL进行CURDATE()扩展,然后像您在任何SELECT语句中所期望的那样返回值。