---
name: "Rose::DB::Object::Metadata::Column::Interval"
section: "3pm"
platform: "linux"
package: "librose-db-object-perl"
version: "1:0.820-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Rose::DB::Object::Metadata::Column::Interval"
---

# Rose::DB::Object::Metadata::Column::Interval(3pm)

Interval column metadata.

## NAME

Rose::DB::Object::Metadata::Column::Interval - Interval column metadata.

## SYNOPSIS

```
  use Rose::DB::Object::Metadata::Column::Interval;
  $col = Rose::DB::Object::Metadata::Column::Interval->new(...);
  $col->make_methods(...);
  ...
```

## DESCRIPTION

Objects of this class store and manipulate metadata for interval columns in a database.  Column metadata objects store information about columns (data type, size, etc.) and are responsible for creating object methods that manipulate column values.

This class inherits from Rose::DB::Object::Metadata::Column. Inherited methods that are not overridden will not be documented a second time here.  See the Rose::DB::Object::Metadata::Column documentation for more information.

## METHOD MAP

- "get\_set"

  Rose::DB::Object::MakeMethods::Generic, date, ...

- "get"

  Rose::DB::Object::MakeMethods::Time, date, ...

- "get\_set"

  Rose::DB::Object::MakeMethods::Time, date, ...

See the Rose::DB::Object::Metadata::Column documentation for an explanation of this method map.

## OBJECT METHODS

- **end\_of\_month\_mode MODE**

  This mode determines how math is done on duration objects.  If defined, the `"end_of_month"` setting for each DateTime::Duration object created by this column will have its mode set to MODE.  Otherwise, the `"end_of_month"` parameter will not be passed to the DateTime::Duration constructor.

  Valid modes are `"wrap"`, `"limit"`, and `"preserve"`.  See the documentation for DateTime::Duration for a full explanation.

- **parse\_value DB, VALUE**

  Convert VALUE to the equivalent DateTime::Duration object.  VALUE maybe returned unmodified if it is a valid interval keyword or otherwise has special meaning to the underlying database.  DB is a Rose::DB object that is used as part of the parsing process.  Both arguments are required.

- **scale \[INT\]**

  Get or set the integer number of places past the decimal point preserved for fractional seconds.  Defaults to 0.

  Returns "interval".

- **type**

  Returns "interval".

## AUTHOR

John C. Siracusa (siracusa@gmail.com)

## LICENSE

Copyright (c) 2010 by John C. Siracusa.  All rights reserved.  This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
