sql - 如何用 SQL 确定小数类型列的小数位数
问题描述
我需要将精度为 16 和刻度 2 的小数类型列更改为精度 16 和刻度 5,为此我将执行以下操作:
ALTER TABLE dbo.my_table ALTER COLUMN my_column DECIMAL(16, 5)
但是为了避免每次应用程序运行时都进行这种更改,我想读取列比例,如果它与 5 不同,则将执行上面的行。
有没有办法获得十进制类型列的比例?
解决方案
有没有办法获得十进制类型列的比例?
您可以查询information_schema.columns
:
select column_name, numeric_precision, numeric_scale
from information_schema.columns
where table_schema = 'dbo' and table_name = 'my_table' and column_name = 'my_column'
推荐阅读
- android - Android Studio 根本无法在 React Native 项目中使用
- javascript - 使用 React 生成大型动态表单,不会在每个输入上重新生成
- ios - viewDidLoad 后 UIView 的边界发生变化
- android - 如何使子片段从父片段继承底部导航栏
- sql - SQL Server:将列转换为标题与其他表中的值
- python - 如何在 Pulp 中指定求解器
- html - 致命:遥控器意外挂断。无法将内容推送到我的 git 存储库
- continuous-integration - Azure Pipelines:使用 Azure App Service Deploy 排除文件夹
- mysql - MySQL:使用 id 将 table2 中的条目与 table1 中的条目匹配,然后将匹配项作为新列插入 table2
- r - 如何将 str_split 应用于具有一个字符列的小标题?