我的表现在看起来像这样(我的问题所需的样本):
表格名称:JurnalEntries.dbo
JE_InsertDate JE_OriginalFileName
2015-04-01 NULL
2015-04-01 NULL
2015-03-01 NULL
2015-03-01 NULL
2015-02-01 NULL
2015-02-01 NULL
我想根据JE_OriginalFileName
(日期类型)在JE_InsertDate
中插入值。例如:
如果JE_InsertDate
中的值为2015-02-01
,则将JE_OriginalFileName
放在与FI 02 2015.xlsx
相同的行上
如果JE_InsertDate
中的值为2015-03-01
,则JE_OriginalFileName
中的值与FI 03 2015.xlsx
中的JE_InsertDate JE_OriginalFileName
2015-04-01 FI 04 2015.xlsx
2015-04-01 FI 04 2015.xlsx
2015-03-01 FI 03 2015.xlsx
2015-03-01 FI 03 2015.xlsx
2015-02-01 FI 02 2015.xlsx
2015-02-01 FI 02 2015.xlsx
放在同一行中
表格需要如下所示:
name = ["Jon", "Bede", "Joe"]
score = [123, 11, 43]
for i in sorted(zip(name, score), key=lambda x:x[1]):
print(i[0], i[1], sep=': ')
你能帮我解决这个问题吗?
评论:文件名中有空格[(FI MM YYYY).xlsx]。
非常感谢!
答案 0 :(得分:1)
您可以尝试使用CONCAT()
UPDATE JurnalEntries.dbo
SET JE_OriginalFileName = CONCAT('FI ', MONTH(JE_InsertDate),' ', YEAR(JE_InsertDate),'.xlsx')
如果JE_InsertDate是日期,则使用SUBSTRING而不是YEAR()和MONTH()
答案 1 :(得分:0)
您需要将CASE与更新一起使用。
UPDATE JurnalEntries.dbo
SET JE_OriginalFileName = CASE
WHEN JE_InsertDate='2015-02-01' THEN 'FI 02 2015.xlsx'
WHEN JE_InsertDate='2015-03-01' THEN 'FI 03 2015.xlsx'
END
希望这会有所帮助..