首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SQL导出时清除值(如果为null或类似值)

使用SQL导出时清除值(如果为null或类似值)
EN

Stack Overflow用户
提问于 2016-03-16 03:09:46
回答 2查看 44关注 0票数 0

我目前正在构建一个select查询,将一些数据从一个旧的笨拙的数据库结构中传输到一个新的应用程序中。通常情况下,虽然一切都很好,但我也想清理一些东西。

两个varchar(50)字段包含地理坐标。它们被命名为纬度和经度并不奇怪,理想值看起来有点像这样: 10.9627823122

我已经发现我可以这样处理它们:

代码语言:javascript
运行
复制
CAST(mytable.`longitude` as DECIMAL(16,12))

这很好,但不幸的是,有一些行以前有空值,现在变成了0.000000000000,还有一些到目前为止还包含无用的东西(像愚蠢的文本,urls和其他东西),因为脚本没有在输入端做任何检查。我更喜欢将这些字段设置为NULL insead 0.00000000000。当然,我可以在生成的CSV导出文件上执行简单的搜索/替换操作,但如果可能的话,我更希望知道如何在SQL中执行此操作。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2016-03-16 03:34:29

正如Marc B在评论中发布的那样,下面是做到这一点的方法:

代码语言:javascript
运行
复制
if(mytable.`longitude` <> '', CAST(mytable.`longitude` as DECIMAL(16,12)), null)

感谢您的帮助!

票数 1
EN

Stack Overflow用户

发布于 2016-03-16 03:29:09

您可以在导出数据时使用以下命令清理数据:

代码语言:javascript
运行
复制
  Select top 10
    Case CAST(mytable.`longitude` as DECIMAL(16,12)) = 0.000000000000
      when 0.000000 then NUll
      else CAST(mytable.`longitude` as DECIMAL(16,12)) = 0.000000000000
    End 
    from myTable
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36020046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档