我有一张这样的“表1”:
+------+--------------------+
| id | barcode | lot |
+------+-------------+------+
| 0 | ABC-123-456 | |
| 1 | ABC-123-654 | |
| 2 | ABC-789-EFG | |
| 3 | ABC-456-EFG | |
+------+-------------+------+
我必须提取“条形码”列中间的数字,如以下请求:
SELECT SUBSTR(barcode, 5, 3) AS ToExtract FROM table1;
结果是:
+-----------+
| ToExtract |
+-----------+
| 123 |
| 123 |
| 789 |
| 456 |
+-----------+
并将其插入“地段”栏。
4条答案
按热度按时间pdtvr36n1#
沿着路线走
i、 在你的情况下是不可能的
bn31dyow2#
hfyxw5xn3#
许多数据库都支持生成(即“虚拟”/“计算”列)。这允许您将列定义为表达式。语法如下:
使用生成的列有几个优点:
它总是最新的。
它通常不占用任何空间。
创建表时没有开销(尽管查询表时有开销)。
我应该注意到,不同数据库的语法有点不同。有些不需要类型规范。有些人只是
as
而不是generated always as
.kqlmhetl4#
db<>在这里摆弄