更改 Interbase 中的年份字段

发布于 2024-10-10 10:06:52 字数 201 浏览 7 评论 0原文

我有一个表,其中一些行显示错误的年份日期。日期的格式为:MM/DD/YYYY,但年份显示为 1933,而不是 2011

如何在 Interbase 中使用 SQL 更改年份?我发现我可以对其他数据库执行 CDATE,但我在 Interbase 上找不到等效的数据库。

I have a table with some rows showing the wrong year date. The format of the date is: MM/DD/YYYY, but it is showing the year as 1933 instead of 2011.

How do I change the year with SQL in Interbase? I found I could do a CDATE with others databases, but I couldn't find an equivalent on Interbase.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花伊自在美 2024-10-17 10:06:52

沿着这些思路的一些东西可能会起作用。假设 1933 年的所有日期都需要更新。 CAST()、EXTRACT() 和连接运算符 ('||') 是标准 SQL。

UPDATE yourtablename
SET date_column = 
  CAST('2011-' || 
        EXTRACT(month from date_column) || '-' || 
        EXTRACT(day from date_column)  as DATE)
WHERE date_column BETWEEN '1933-01-01' and '1933-12-31'

如果您对该列没有 CHECK 约束,那么迟早会显示更多 1933 年日期。

Something along these lines might work. Assumes that all dates in 1933 need to be updated. CAST(), EXTRACT(), and the concatenation operator ('||') are standard SQL.

UPDATE yourtablename
SET date_column = 
  CAST('2011-' || 
        EXTRACT(month from date_column) || '-' || 
        EXTRACT(day from date_column)  as DATE)
WHERE date_column BETWEEN '1933-01-01' and '1933-12-31'

Odds are good that if you don't have a CHECK constraint on that column, more 1933 dates will show up sooner or later.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文