保持前导零列Mysql

法比安·塞拉(Fabian Sierra)

我有下表称为pr_collaborator

--------------------------------
  id  |   name  |   last_name  |
--------------------------------
000015|  John   |    Smith     |
002154|  Maria  |    Sanchez   |
123456|  Fabian |    Sierra    |
SE0012|  Sarah  |    Taylor    |
SE0015|  Conny  |    Huertas   |
--------------------------------

我刚刚做了这个查询:

SELECT * FROM pr_collaborator;

结果如下:

--------------------------------
  id  |   name  |   last_name  |
--------------------------------
  15  |   John  |    Smith     |
  2154|  Maria  |    Sanchez   |
123456|  Fabian |    Sierra    |
SE0012|  Sarah  |    Taylor    |
SE0015|  Conny  |    Huertas   |
--------------------------------

我想保持前导零,该id字段是VARCHAR(10)

我正在尝试以下操作,但不起作用;

SELECT CAST(id as CHAR) AS id, name, last_name FROM pr_collaborator;
SELECT CONVERT(id, VARCHAR) AS id, name, last_name FROM pr_collaborator;

我不想使用LPAD函数,因为我不知道有多少字符具有值。

更新资料

这是pr_collaborator结构:

CREATE TABLE `pr_collaborator` (
  `id` varchar(10) COLLATE utf8_spanish_ci NOT NULL,
  `name` varchar(80) CHARACTER SET latin1 NOT NULL,
  `last_name` varchar(80) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

这是PHP代码中的查询:

$sql = "SELECT id, name, last_name FROM pr_collaborator";

$result = $this->db->fetchAll($sql, Phalcon\DB::FETCH_ASSOC);

$this->jsonReturnSuccess($result);

也许这可能是PHP的问题,而我的MySQL却没有

我希望你能帮助我!

法比安·塞拉(Fabian Sierra)

我不知道这是否是一个好答案,但我必须这样做:

我必须使用QUOTE()函数在列值中加上引号,因为PHP成为整数形式的值:

$sql = "SELECT QUOTE(id) AS id, name, last_name FROM pr_collaborator";

$result = $this->db->fetchAll($sql, Phalcon\DB::FETCH_ASSOC);

$this->jsonReturnSuccess($result);

如您所见,由于引号,我可以在查询结果中保留前导零。

array(
     'id' : '000015',
     'name': 'Jhon',
     'last_name': 'Smith'
),
array(
     'id' : '002154',
     'name': 'Maria',
     'last_name': 'Sanchez'
),
array(
     'id' : '123456',
     'name': 'Fabian',
     'last_name': 'Sierra'
),
array(
     'id' : 'SE0012',
     'name': 'Sarah',
     'last_name': 'Taylor'
),
array(
     'id' : 'SE0015',
     'name': 'Conny',
     'last_name': 'Huertas'
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章