表一:
| 姓名|银泰|
| - ------|- ------|
| 保尔史密斯|十五点十分四十五分|
我知道我们可以使用trim
和len
函数删除Name
列中的最后一个字符(删除'smith'),以便仅将输出显示为'Paul'。
我们如何对Intime
列中的时间做同样的处理?
我试过了
SELECT SUBSTRING('15:10:45.0486392',1,len('15:10:45.0486392')-8) AS Intime
FROM stuattrecordAM
我得到的输出是预期的"15:10:45"
。
SELECT SUBSTRING('Intime',1,len('Intime')-8) AS Intime
FROM stuattrecordAM
问题
当我尝试使用Intime
列名而不是字符串时,显示以下错误:
参数数据类型time对于子字符串函数的参数1无效。
另见我前面的相关问题:How to trim Column Value SQL
如何格式化该值,使result只包含显示小时:分钟:秒的前8个字符?
2条答案
按热度按时间6yt4nkrj1#
要从格式正确的 time 中获取的
hh:mm:ss
部分,可以使用convert函数,例如结果:
15:10:45
yk9xbfzb2#
您可以使用
REPLACE
这样的简单函数来代替TRIM
和LEN
。如果您仍然想使用
TRIM
和LEN
,请务必让我知道。