我正在研究应用程序。
我必须通过excel从用户输入,然后将其放在临时sql表中,然后再从临时表到最终目标表中。
将数据从临时表放到目标表时,我的查询失败。 因为临时表中存在的某些值超出了目标表中列的范围。
如何检查临时表中存在的值是否在目标表的列范围内?
我必须像这样检查
20 < len(temporary_table.column1) < 50
还是有更好的方法
答案 0 :(得分:1)
如果您使用的是SQL Server,则可以使用以下查询进行数据检查。
temporary_table.column1 between 20 and 50
如果要根据列的最大长度进行查找。例如,您的列的数据类型为varchar(100)
,则可以使用这样的条件
where len(temporary_table.column1)<=100
答案 1 :(得分:0)
扩展上面的答案,您可以只使用col_length,而不用硬编码目标列上的值。这样可以使其自动化程度更高,更不容易出错(错误输入值)
.iter()