Сохранить результаты SQL-запроса в таблицу - PullRequest
0 голосов
/ 02 июля 2019

Я хочу сохранить мои скорректированные результаты запроса в таблицу. Например, у меня есть коды 350.8, 351.94, и у меня есть код T-SQL для удаления десятичных точек, приводящих к скорректированным результатам 350,351 и т. Д. Я хочу сохранить результаты в таблицу, а не в Excel. Это возможно?

Я вижу, вы можете создать новую таблицу, но с теми же столбцами, а не с новыми скорректированными результатами. Ниже не работает, так как SQL Server не распознает скорректированные1, 2 и 3.

CREATE TABLE DiagAdj 
(
     encounter_id NUMERIC,
     di_1 INT, 
     di_2 INT, 
     di_3 INT,
     adjusted1 INT,
     adjusted2 INT,
     adjusted3 INT,
);

INSERT INTO DiagAdj (encounter_id, adjusted1, adjusted2, adjusted3)
    SELECT encounter_id, adjusted1, adjusted2, adjusted3
    FROM dbo.Encounters

Десятичные знаки удалены. Я хочу сохранить скорректированные3 результаты в таблицу

SELECT 
    encounter_id, di_3, -- now, try to cast to int the remainder, ending right before the decimal
    adjusted3 = TRY_CONVERT(int,LEFT(di_3, COALESCE(NULLIF(CHARINDEX('.', di_3) - 1, -1), 255)))
FROM 
    dbo.Encounters;

1 Ответ

1 голос
/ 02 июля 2019

Почему бы вам не привести каждый десятичный столбец к целому числу:

INSERT INTO DiagAdj (encounter_id, adjusted1, adjusted2, adjusted3)
SELECT
    encounter_id,
    CAST(diag1 AS DECIMAL(10,0)),
    CAST(diag2 AS DECIMAL(10,0)),
    CAST(diag3 AS DECIMAL(10,0))
FROM dbo.Encounters;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...