sql - 选择以数字开头的行进行聚合
问题描述
create table model(model_no varchar);`
insert into model values('1&');`
insert into model values('2/12/20');`
insert into model values('a2');`
insert into model values(30);--i want this row`
insert into model values(3.1);--i want this row`
insert into model values(%20);`
行可以以任何特殊字符开头或可能包含任何特殊字符,我最终喜欢对模型列执行聚合。我正在使用雪花数据库
解决方案
要查找“数字”值,可以使用TRY_CAST :
CAST 的特殊版本,:: 可用于数据类型转换的子集。它执行相同的操作(即将一种数据类型的值转换为另一种数据类型),但在无法执行转换时返回 NULL 值而不是引发错误。
SELECT TRY_CAST(model_no AS NUMERIC(20,5)) AS model_no_num
FROM model
WHERE model_no_num IS NOT NULL;
推荐阅读
- python - 如何将 GeoJsonTooltip 添加到 folium.Choropleth 类中的 folium?
- android - 是否可以仅使用 SharedPreferences 来存储来自 recyclerview 的数据?
- javascript - 如何为anime.js 旋转设置任意轴?
- ios - 如何将 Core Data 用于主应用程序和单元测试?
- python - 将 request.user.email 放在另一个模型字段中
- firebase - Flutter 不使用 Firestore 构建 iOS 应用程序
- python - com_error: (-2147352567, '发生异常。', (0, None, None, None, 0, -2147024809), None)
- c# - 比较两个 Json
- javascript - 如何在数组响应的所有对象中填充字段?
- c - 如何将焦点设置到 GTK3 中的窗口?