gpt4 book ai didi

mysql - 如何将数据库的一列拆分为多列并将日期时间数据类型的值与字符串数据类型的值进行比较

转载 作者:行者123 更新时间:2023-11-29 22:11:57 27 4
gpt4 key购买 nike

我有两个不同的 MS Excel 工作表,其中包含大约 12 列的 40000 行数据。我想将数据库中的两个工作表中的数据(可以使用任何数据库)导入到 2 个不同的表(table_a 和 table_b)中。现在,“table_a”中有一个数据类型为“日期/时间”的列(列名:“start_time”),存储的值为“08:30:50”。另外,'table_b' 中有一个列(列名:“total_time”),数据类型为“string”,存储的值为“0800-1000”。

我的问题是,通过查看值“08:30:50”,我知道它在“0800-1000”范围内。但是考虑到我将使用 MS SQL 2005 或 MS SQL 2008,如何使用 sql 查询来执行此操作?

提前致谢。

最佳答案

这可能是解决方案:-

Set Nocount On;

Declare @table_a Table
(
Id Int Identity(1,1)
,starttime Datetime
)

Declare @table_b Table
(
Id Int Identity(1,1)
,total_time Varchar(100)
)

Insert Into @table_a(starttime) Values
('08:30:50')
,('06:30:50')

Insert Into @table_b(total_time) Values
('0600-0759')
,('0800-1000')

Select a.Id
,a.starttime
,b.total_time
From (
Select Id
,b.total_time
,Cast(Left(b.total_time,2) +':'+ Right(Left(b.total_time,4),2) As time) As StartHours
,Cast(Left(Right(b.total_time,4),2) +':'+ Right(b.total_time,2) As time) As EndHours
From @table_b As b
) As b
Join @table_a As a On Cast(a.starttime As Time) >= b.StartHours And Cast(a.starttime As Time) <= b.EndHours

输出:-

enter image description here

关于mysql - 如何将数据库的一列拆分为多列并将日期时间数据类型的值与字符串数据类型的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com