ai didi

sql - 在 SQL 中使用强制转换和多列选择

转载 作者:行者123 更新时间:2023-12-04 02:14:49 24 4
gpt4 key购买 nike

基本上我想让这个命令工作:

$sql = "SELECT (EntryDate + TotalTime) as DataLine FROM TimeSheet WHERE EmployeeID='AA01'";

EntryDate 在数据库中是文本,但 TotalTime 是数字。我需要将 TotalTime 转换为文本,因为我注意到如果我组合两种不同类型的值,它只会使输出空白。

我知道我应该使用 CAST(TotalTime as XXX),但我不确定我可以合法地将它转换为什么(char/nchar 似乎不起作用,字符串和文本也不起作用)。我总是收到表单错误...

Syntax error (missing operator) in query expression '(EntryDate + CAST(TotalTime as string) as DataLine FROM TimeSheet WHERE EmployeeID='AA01''

我能得到一些帮助吗?谢谢!

编辑我想指出,这并不是要将 EntryDate 和 TotalTime 的值加在一起以产生单个值。我只是想让它给我 EntryDate 值以及 TotalTime 值组合成一行,其内容如下:

“2012 年 10 月 31 日 9.25”

再次编辑很抱歉之前没有指定,我正在使用 MSSQL

最佳答案

试试这个:

SELECT 
CAST(EntryDate AS VARCHAR(25)) + CAST(TotalTime AS VARCHAR(10)) as DataLine
FROM TimeSheet
WHERE EmployeeID = 'AA01';

但是,如果 entrydate 是日期,而 int totaltime 是时间,最好考虑将它们转换为日期时间对象,方法是将它们添加为日期部分到时间部分取决于您使用的 RDBMS。如果可能的话,使用 DATETIME 数据类型来表示日期和时间部分而不是两个部分。像这样:

SELECT DATEADD(hh, totaltime, entrydate)
FROM TimeSheet
WHERE EmployeeID = 'AA01';

SQL Fiddle Demo

关于sql - 在 SQL 中使用强制转换和多列选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13282223/

24 4 0
文章推荐: three.js - camera.up 在 Three.js 中有什么作用?
文章推荐: R:并行完全可重现的结果
文章推荐: 挂机后的 Asterisk IVR
文章推荐: 使用管道的 Awk 打印在 Jupyter Notebook 中无法使用 iPython
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com