zoukankan      html  css  js  c++  java
  • 经纬度转换 sql 自定义函数

    数值转度分秒

    Create function [dbo].[ConvertDigitalToDegrees](@digitaldegree numeric(18, 2))
    returns varchar(50)
    as 
    begin
    declare @num numeric(18, 2)=60
    declare @result int=@digitaldegree
    declare @tmp numeric(18, 2)=(@digitaldegree-@result)*@num
    declare @minute int=@tmp
    declare @second numeric(18, 2)=(@tmp-@minute)*@num
    declare  @degrees  varchar(50)= ''+cast(@result as  varchar) +'°'+cast(@minute as varchar)+''+ cast(@second  as varchar)+''
      return @degrees
    end

    度分秒转数值

    Create  function  [dbo].[DegreesToDigital](@degrees varchar(20))
    returns  varchar(20)
    as
    begin
    declare @num numeric(18,2)=60
    declare @digitalDegree decimal(18,2)=0.0
    declare @d int=charindex('°',@degrees)
    if(@d<0)
    begin
    return @digitalDegree
    end
    declare @degree varchar(20)=left(@degrees,@d-1)
    set @digitalDegree+=cast(@degree as decimal(18,2))
    declare @m int=charindex('',@degrees)
    if(@m<0)
    begin
    return @digitalDegree
    end
    declare @minute varchar(20)=substring(@degrees,@d+1,@m-@d-1)
    set @digitalDegree+=(cast(@minute as decimal(18,2))/@num)
     declare @s int=charindex('',@degrees)
     if(@s<0)
     begin
     return @digitalDegree
     end
     declare @second varchar(20)=substring(@degrees,@m+1,@s-@m-1)
     set @digitalDegree+=(cast(@second as decimal(18,2))/(@num*@num))
     return @digitalDegree
    end
  • 相关阅读:
    sqlserver 日期格式化
    CentOS7系统 ansible自动化部署多台服务器部署
    Linux运维跳槽40道面试精华题
    Linux下SVN创建新的项目
    日志切割
    SVN的安装和启动SVN的安装
    jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
    nginx启动脚本
    nginx如何调用php
    redis常用命令
  • 原文地址:https://www.cnblogs.com/wxxf/p/12875053.html
Copyright © 2011-2022 走看看