久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

TSQL 將大數(shù)重新映射為小數(shù),但保留身份

TSQL remap big number to smaller, but keep Identity(TSQL 將大數(shù)重新映射為小數(shù),但保留身份)
本文介紹了TSQL 將大數(shù)重新映射為小數(shù),但保留身份的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我正在嘗試將一個巨大的數(shù)字加載到 Field1 INT 中,它只能容納 max=2,147,483,647,根據(jù)它我不能改變 DDL,所以試圖找到臨時解決方案,從這個數(shù)字的中間切出一位數(shù),然后添加唯一性檢查.
這些數(shù)字的格式如下:29000001234,所以我的意思是保持這種格式中間有零以便于識別.我不想在這個任務(wù)中引入任何新的列/表,因?yàn)槟抢锏淖杂捎邢蓿@是 3rd 方模式.

I'm trying to load a huge number into Field1 INT which can hold only max=2,147,483,647, according to it I can't change DDL, so tried to find adhoc solution to cut out single digit from the middle of this number and then add check for uniqueness.
This numbers are in the format like: 29000001234, so I mean to keep this format with zeros in the middle to easy recognizing. I don't want to introduce any new columns/tables into this task, as limited in freedom there, this is 3rd party schema.

任何人都可以提出更好的解決方案,如何重新映射/保持所有數(shù)字低于該限制;這是我的草稿:

Can anybody suggest better solution, how to remap/keep all numbers under that limit; this is my draft:

DECLARE @fl FLOAT = 29000001234
DECLARE @I  INT

SELECT  @i = (SUBSTRING(CAST(CAST(@fl AS BIGINT) AS VARCHAR(18)),1,4) +  
          SUBSTRING(CAST(CAST(@fl AS BIGINT) AS VARCHAR(18)),7,LEN(CAST(CAST(@fl AS BIGINT) AS VARCHAR(18))))  )
select @i;

推薦答案

如果沒有算術(shù)溢出或丟失原始數(shù)據(jù),您就無法做到這一點(diǎn).
如果目標(biāo)表或查詢的列數(shù)有限制,請使用多行:

You can't do that without any arithmetic overflow, or with out losing your original data.
If you have a limitation in columns of your destination table or query, use multiple rows:

declare @c bigint = 29000001234;
declare @s bigint = 1000000000;    -- Separator value

;with cte(partNo, partValue) as (
    select 1, @c % @s
    union all
    select partNo + 1, (@c / power(@s, partNo)) % @s
    from cte
    where (@c / power(@s, partNo)) > 0
)
select partValue
from cte;

這篇關(guān)于TSQL 將大數(shù)重新映射為小數(shù),但保留身份的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標(biāo)記轉(zhuǎn)換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 国产在线一级片 | 精品欧美一区二区三区久久久小说 | 日韩一级免费电影 | 日本在线播放一区二区 | 国产一区二区视频在线观看 | 亚洲视频免费观看 | 中文在线一区 | 国产精品久久久久久久久久免费看 | 精品久久久久久 | 中文字幕av高清 | a级在线免费 | 激情a| 国产精品视频一二三区 | 国产91久久久久蜜臀青青天草二 | 久草精品视频 | 日韩中文欧美 | 免费观看一级特黄欧美大片 | 欧美在线精品一区 | 91精品国产乱码久久久久久久久 | 一区在线播放 | 国产精品美女一区二区 | www网站在线观看 | 婷婷中文在线 | 国产精品久久久久久久模特 | 国产a视频 | 国产探花在线精品一区二区 | 成人妇女免费播放久久久 | 中文字幕一区二区三区四区五区 | 国产精品综合 | 国产综合久久 | 亚洲三区在线观看 | 欧美日韩一区二区三区视频 | 国产美女在线观看 | 国产精品成人一区二区 | 亚洲一区综合 | 91九色porny首页最多播放 | 亚洲综合在线视频 | 欧美日韩在线播放 | 日韩在线中文 | 少妇精品久久久久久久久久 | 亚洲精品黄色 |