MYSQL - 如何将GROUP_CONCAT函数产生的字符串转换为数字

时间:2018-01-31 21:27:28

标签: mysql string converter group-concat digits

我已经被这个问题困住了一段时间,并想知道这里是否有人知道我可能做错了什么。

我面临的问题是,以下查询向我发送0而不是-5,如果我删除" CAST"函数,我得到-05,所以看起来好像字符串-05没有被转换为-5,但是如果我替换整个" GROUP_CONCAT"功能由' -05'那么" CAST"功能DOES将-05转换为-5 ......我在这里缺少什么?

SELECT CAST(GROUP_CONCAT(if(FIELD_ID = 8, LEFT(VALUE,3), NULL)) as SIGNED INTEGER) as 'user_timezone' 
FROM tn_cimy_uef_data 
WHERE user_id = '58';

预期结果:-5
实际结果:0(不好)

SELECT GROUP_CONCAT(if(FIELD_ID = 8, LEFT(VALUE,3), NULL)) as 'user_timezone' 
FROM tn_cimy_uef_data 
WHERE user_id = '58';

预期结果:-05
实际结果:-05(好)

SELECT CAST('-05') as 'user_timezone' 
FROM tn_cimy_uef_data 
WHERE user_id = '58';

预期结果:-5
实际结果:-5(GOOD)

表格如下(table tn_cimy_uef_data):

ID      USER_ID         FIELD_ID        VALUE
1       58              1               12121212
2       58              2               12121212
3       58              3               lorem ipsum
4       58              4               lorem ipsum
5       58              5               lorem ipsum
6       58              6               lorem ipsum
7       58              7               lorem ipsum
8       58              8               −05:00:00 -> America/Miami
9       58              9               lorem ipsum
10      58              10              12121212

我很感激,如果有人能在这个黑暗中揭开光芒xD

谢谢, P

0 个答案:

没有答案