【发布时间】:2025-12-27 10:25:11
【问题描述】:
我需要拆分像“01/12/15”这样的日期,并将年份部分从 15 替换为 2015 年(即 01-12-2015)。我通过 sql 查询得到年份:
select YEAR('10/12/15')
它返回 2015 年。但我必须将 15 替换为 2015 年。我该如何实现这一点。 这里的任何人请帮助我。提前谢谢..
已编辑:
我也尝试过以下查询..
declare @date varchar='10/12/2015'
declare @datenew date
SELECT @datenew=CONVERT(nvarchar(10), CAST(@date AS DATETIME), 103)
print @datenew
但它会引发一些这样的错误: 从字符串转换日期和/或时间时转换失败。
如何将 varchar 更改为日期并将其年份部分替换为 4 位数字..请帮助我..
DECLARE @intFlag INT,@date varchar(150),@payperiod numeric(18,0),@emp_Id varchar(50)
SET @intFlag = 1
declare @count as int set @count=(select count(*) from @myTable)
WHILE (@intFlag <=@count)
BEGIN
select @emp_Id=Employee_Id from @myTable where rownum=@intFlag
select @date=attendance_date from @myTable where rownum=@intFlag
declare @datenew datetime
SELECT @datenew=convert(datetime,CONVERT(nvarchar(10), CAST(@date AS DATETIME), 103) ,103)
它会抛出错误“将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。”
【问题讨论】:
-
是 10 月 12 日还是 12 月 10 日?
-
我的日期是 2015 年 12 月 10 日
标签: sql sql-server-2008 datetime