【问题标题】:Convert Text to Numbers in SQLite在 SQLite 中将文本转换为数字
【发布时间】:2012-12-27 19:46:30
【问题描述】:

我有一个带有以下结构的表的 sqlite DB 位置名称纬度经度都定义为 varchar。我如何构造一个 sql 语句来获取具有特定纬度范围的所有位置,以十进制给出纬度。有没有办法即时从 varchar 转换为十进制值?或者我必须逐步执行 return 语句并手动进行转换

【问题讨论】:

  • SQLite 支持除 varchar(文本)以外的类型 - sqlite.org/datatype3.html。为什么不将值存储在实际列中?
  • 将值作为实际数字存储在数据库中会更有效。
  • 我已经获得了我无法更改的甲酸盐数据库。希望我能:)

标签: sqlite


【解决方案1】:

请参阅http://www.sqlite.org/lang_expr.html 上的“CAST 表达式”。

SELECT CAST('3.02' as decimal)
-- they aren't real decimals in sqlite, though. beware floats.

【讨论】:

  • 哦,谢谢,我会试试的。例如,如果纬度列定义为 N320515 会怎样。有没有办法做同样的事情?
  • substr 用于提取子字符串,case..when..end 用于将 'N/S' 转换为 1/-1。你会得到一个毛茸茸的表情,但这是可能的。 UPD:并确保测试所有可能的半球:)
  • 再次感谢,我将深入研究如何创建该 sql 语句。
猜你喜欢
  • 2012-02-06
  • 1970-01-01
  • 2012-09-07
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
相关资源
最近更新 更多