SQL Server数据转换【包含Geometry类型】的技巧总结

1. 字段的组合:

update new_master_location
set tmp_street_unique=street+'_'+city+'_'+state+'_'+zip+'_'+convert(varchar(20),municipality)
这里如果碰到整形的字段需要转化为字符型【int --> String】。

2. 去掉前后的空格:

update mapping_parcels
set city=ltrim(rtrim(city))

SQL没有Trim的方法,只能通过这样的方式

3. 字符的替换【Replace方法】:

update mapping_parcels
set sale_date=replace(sale_date,'0000-00-00','')

4. 按照字符分割字段:

创建一个function:Mapping_Get_StrArrayStrOfIndex

update mapping_parcels
set state_zip=dbo.Mapping_Get_StrArrayStrOfIndex(city_state,' ',0)

去city_state字段按照空格分割后的第一部分的值

5. 查看某个字段的值是否正确,查看字符串的长度:

select zip from new_master_location where len(zip)>5

6. 某个字段的值唯一,去除重复:

在该表上创建一个索引(index)[表设计器打开的状况无法新建索引的],名字随便起,Add添加索引时,选中不想重复的那一列tmp_unique

重要的是在Options中选择忽略重复的值,这样导入数据的时候会自动忽略掉重复的值。

7. 更新Geometry字段无效的状况:

update new_master_location_geometry
set boundary=boundary.MakeValid ()
where boundary.STIsValid()=0

8. 取面图形的中心点:

update new_master_location_geometry
set center_lat=boundary.STCentroid().STY,
center_lon=boundary.STCentroid().STX

9. 更新中心点的位置:

update block
set center=geometry::STPointFromText('POINT (-73.91301 40.96522)', 0),
editon=GetUTCDate()
where blockid=1125

10. SubString的用法:

update mapping_sub_sector
set category=substring(label,1,1)

11. 判断点是否在多边形范围内:

select count(*) from location a
join mapping_geodata_boundary b on b.code='nj0415'
and b.boundary.STContains(geometry::STGeomFromText('POINT('+CONVERT(VARCHAR(50),longitude)+' '+CONVERT(VARCHAR(50),latitude)+')', 0))=1

12. 判断字符串中是否包含数字:

isnumber: 判断是否为数字【数字返回1,含有字符或者非数字返回0】。例子:select * from mapping_tax_warren where ISNUMERIC(prop_loc)=0

patindex: 返回指定表达式中某模式第一次出现的起始位置,如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。例子:PATINDEX('%[0-9]%', prop_loc)>0 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL中,`geometry`是一种数据类型,用于存储和处理空间几何数据。它是一种在SQL Server中引入的数据类型,用于表示和操作点、线、多边形等空间对象。 `geometry`数据类型可以存储以下类型的空间几何数据: 1. 点(Point):表示一个二维平面上的点,由X和Y坐标组成。 2. 线(LineString):表示一条折线或曲线,由多个点组成。 3. 多边形(Polygon):表示一个封闭的区域,由一条外环和零个或多个内环组成。 4. 多点(MultiPoint):表示多个点的集合。 5. 多线(MultiLineString):表示多个线的集合。 6. 多边形集合(MultiPolygon):表示多个多边形的集合。 使用`geometry`数据类型,可以进行各种空间操作和分析,如计算距离、交叉判断、缓冲区分析等。SQL Server提供了一套内置函数来处理`geometry`数据类型,例如 `STDistance`、`STIntersects`、`STBuffer`等。 要在SQL Server中使用`geometry`数据类型,需要在数据库中创建相应的表列或变量,并将其定义为`geometry`类型。例如,可以使用以下语句创建一个具有`geometry`列的表: ```sql CREATE TABLE SpatialData ( ID INT, Shape geometry ) ``` 然后,可以将空间几何对象插入到该表中,并使用相应的空间函数进行操作和分析。 需要注意的是,`geometry`数据类型只适用于SQL Server数据库系统。对于其他数据库系统,可能有不同的空间数据类型和函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值