微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlite – 类型转换问题

在以下查询中,1/2的答案始终为零,而应为0.5.你能告诉我如何将两个int列转换为float / double吗?
SELECT 1/2,total,sb_ondate,likes
  FROM (
      SELECT sb_ondate,COUNT(*) AS total,STrftIME("%w",sb_ondate) AS weekDay,COUNT(CASE WHEN sb_reaction = 'like' THEN sb_id END) AS likes
        FROM diet
    GROUP BY weekDay) AS f;

谢谢.

将两个除数中的一个作为一个实数:
SELECT 1 / CAST(2 AS REAL),...

示例交互式Python会话:

>>> import sqlite3
>>> c = sqlite3.connect(':memory:')
>>> c.execute("create table t (a int,b int);")
<sqlite3.Cursor object at 0x7f9b0e9539d0>
>>> c.execute("insert into t values (1,2)")
<sqlite3.Cursor object at 0x7f9b0e953ad8>
>>> conn.execute("select a / cast(b as real) from t").fetchone()
(0.5,)

原文地址:https://www.jb51.cc/sqlite/197728.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐