gpt4 book ai didi

sql - 如何在SQL Server 2008 R2中将系统日期格式转换为dd/mm/yy?

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

我使用的是 SQL Server 2008 R2。我想将系统日期转换为以下格式:dd/mm/yy

"2013-01-01 00:00:00.000" to "Score Calculation - 10/01/13".

我的列包含数据:

1. DMS01A13010101
2. RMS01A13010201
3. 44
4. 2013-01-01 00:00:00.000

我想要的:如果记录具有这种格式的2013-01-01 00:00:00.000,那么只有我更改为分数计算 - dd/mm/yy

我的代码是,

select 
case
when (CHARINDEX(D30.SPGD30_TRACKED_ADJUSTMENT_X, '-*') > 0 or
CHARINDEX(D30.SPGD30_TRACKED_ADJUSTMENT_X, '*-') > 0)
then 'Score Calculation - ' + CONVERT(VARCHAR(8), D30.SPGD30_TRACKED_ADJUSTMENT_X, 1)
end checkthedate
from
CSPGD30_TRACKING D30

最佳答案

   SELECT CONVERT(varchar(11),getdate(),101)  -- mm/dd/yyyy

SELECT CONVERT(varchar(11),getdate(),103) -- dd/mm/yyyy

检查一下。我假设 D30.SPGD30_TRACKED_ADJUSTMENT_X 是日期时间数据类型。
这就是为什么我使用 CAST() 函数将其作为字符表达式,因为 CHARINDEX() 适用于字符表达式。
另外我认为不需要 OR 条件。

select case when CHARINDEX('-',cast(D30.SPGD30_TRACKED_ADJUSTMENT_X as varchar )) > 0 

then 'Score Calculation - '+CONVERT(VARCHAR(11), D30.SPGD30_TRACKED_ADJUSTMENT_X, 103)
end

编辑:

select case when CHARINDEX('-',D30.SPGD30_TRACKED_ADJUSTMENT_X) > 0 
then 'Score Calculation - '+
CONVERT( VARCHAR(11), CAST(D30.SPGD30_TRACKED_ADJUSTMENT_X as DATETIME) , 103)
end

请参阅此链接以转换为其他日期格式:https://www.w3schools.com/sql/func_sqlserver_convert.asp

关于sql - 如何在SQL Server 2008 R2中将系统日期格式转换为dd/mm/yy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017300/

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