You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在kdb/q中将DateName列拆分为日期列与名称列?

拆分DateName列为日期和名称列的解决方案

针对你要将DateName列拆分为前10位的Date列和剩余部分的Name列的需求,以下是主流数据库的实现方案:

MySQL 实现

SELECT
  LEFT(DateName, 10) AS Date,
  SUBSTRING(DateName, 11) AS Name
FROM your_table;

也可以结合长度计算实现:

SELECT
  LEFT(DateName, 10) AS Date,
  RIGHT(DateName, LENGTH(DateName) - 10) AS Name
FROM your_table;

SQL Server 实现

SELECT
  LEFT(DateName, 10) AS Date,
  SUBSTRING(DateName, 11, LEN(DateName)) AS Name
FROM your_table;

或者用STUFF剔除前10个字符:

SELECT
  LEFT(DateName, 10) AS Date,
  STUFF(DateName, 1, 10, '') AS Name
FROM your_table;

Oracle 实现

SELECT
  SUBSTR(DateName, 1, 10) AS "Date",
  SUBSTR(DateName, 11) AS Name
FROM your_table;

补充说明

  • 所有示例中的your_table需要替换为你的实际表名
  • 如果要将拆分后的列永久保存到表中,可先添加列再更新数据,以MySQL为例:
ALTER TABLE your_table ADD COLUMN `Date` VARCHAR(10), ADD COLUMN Name VARCHAR(255);
UPDATE your_table SET
  `Date` = LEFT(DateName, 10),
  Name = SUBSTRING(DateName, 11);

内容的提问来源于stack exchange,提问作者mmv456

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:18:20