sql - SQL:根据表中保存的计算对每一行进行不同的计算
问题描述
我有一张包含付款条件的表格,我还想在每一行中保存计算,以便在选择中使用它。
目标是选择所有付款条件以及基于参数的计算日期。我的问题是:如何让每一行的计算结果显示在结果(表)的列中?我不知道 :/
我们使用 MS sql-server-2018。
示例源表:[table_payment_terms]
ID | payment term | calculation | description
1 | d7 | date + 7 | 7 days
2 | d14 | date + 14 | 14 days
3 | m14 | nextmonths(date) + 6 | 7th of next month
参数:01.01.2020
声明可能类似于:
SELECT 'payment term',
function(description(parameter)) AS 'calculated date', 'description'
FROM [table_payment_terms]
结果:
payment term | calculated date | description
d7 | 08.01.2020 | 7 days
d14 | 15.01.2020 | 14 days
m14 | 07.02.2020 | 7th of next month
解决方案
这是您希望实现的一个完全不平凡的功能。
本质上,如果您想在 SQL 中执行此操作,您将必须创建一个标量值函数,该函数接受一个日期参数,然后将您的函数描述作为第二个参数(假设唯一可能的变量输入是单个日期)。
在该函数中,您将不得不根据您定义的任何语法规则解析您的函数描述并相应地计算您的输出。
推荐阅读
- rust - 生锈中封闭捕获的寿命
- jquery - 按键字符转换脚本在触摸屏设备上不起作用
- android - 在 Google Play 中发布的应用未出现在搜索中
- c# - 使用集成了与无服务器数据库对话的 Lambda 函数的 AWS API Gateway 创建完全无服务器的解决方案
- gtk - 如何从异步方法更新 gtk 列表框?
- php - PHP Stripe - 列出所有具有特定产品 ID 的 SKU
- docker - Docker 继续使用已删除容器中的旧配置
- linux - Rust 交叉编译 -lpcap 从 macos 到 linux
- gams-math - 如何在 GAMS 中的表格中为每一行的总和设置一个上限?
- php - 如何设置 .htaccess 以在末尾不带斜线的情况下重写 url