如果我在表中将 12345678、1234567、123456 作为列并使用 sql 创建一个新列,该列将包含删除每个数字的最后两位数字的新数字。新列将有 123456、12345、1234。
有人会帮忙在 Microsoft sql 环境中编写此代码吗
这只是一个简单的整数除法。
所以选择 (123456/100)。
但唯一有效的是该列是整数类型。
提供的例子很大。如果列是整数,那么使用简单的大小写逻辑就足够了。首先检查该值是否大于 99 然后除以 100,如果不使用它是什么。
Declare @field_name;
Set @field_name = 123456;
Select (case when @field_name > 99 then (@field_name/100) Else @field_name);
Run Code Online (Sandbox Code Playgroud)
将字段名称更改为您希望的任何列,并将查询调整为目标表。
与使用 convert 或 cast 不同,整数除法提供更少的 cpu 周期,因为 cpu 内部有专用的数学块。使用 convert 或 cast 时,您有更多的 cpu 周期,因为它还将包括内存操作。
| 归档时间: |
|
| 查看次数: |
2900 次 |
| 最近记录: |