Files
chill_notes/附件/2026/个人知识库/数据库/模拟一段数据.md
2026-04-21 17:41:25 +08:00

51 lines
1.3 KiB
Markdown
Executable File

```sql
declare @dt datetime --时间
declare @gpsindex numeric(18,2) --GPSIndex
declare @rand float --随机数
declare @count int --计数
```
--declare @GPSINDEX1 bigint
```sql
declare @adatetime1 datetime
declare @endDate datetime; --结束时间
declare @X1 float
declare @Y1 float
declare @H1 float
declare @DX1 float
declare @DY1 float
declare @DH1 float
declare @X0 float
declare @Y0 float
declare @H0 float
set @dt = '2018-10-23 03:08:00.000';
set @endDate= '2018-11-20 18:19:00.000';
select @X1 = X,@Y1 = Y,@H1 = Height,@DX1=dltaX,@DY1=dltaY,@DH1=dltaH from MYB1_RTK where aDatetime = @dt
```
--求出基准坐标
```sql
set @X0=@X1-@DX1
set @Y0=@Y1-@DY1
set @H0=@H1-@DH1
select @X0,@Y0,@H0
```
while(@dt < @endDate) begin
```sql
set @gpsindex = convert(bigint, datediff(ss, '1970-01-01 00:00:00', @dt))*1000 + datepart(ms,@dt) SET @DX1 = (rand()*-10 + 10)/2000
SET @DY1 = (rand()*-10 + 9)/2000
SET @DH1 =(rand()*-10 + 8)/2000
SET @X1 = @X0+ @DX1
SET @Y1 = @Y0+ @DY1
SET @H1 = @H1+ @DH1
SET @adatetime1 = DATEADD(S,@gpsindex/1000,'1970-01-01 00:00:00')
BEGIN TRY insert into HiMonitorDb.[dbo].MYB1_RTK([GPSIndex],[aDatetime],[X],[Y],[Height],[dltaX],[dltaY],[dltaH])VALUES(@gpsindex,@adatetime1,@X1,@Y1,@H1,@DX1,@DY1,@DH1)
END TRY BEGIN
```
CATCH END CATCH
--****************
```sql
set @count = @count + 1
set @dt = DATEADD(MINUTE,5,@dt) --每次递增5min
```
end