# Fields & types (Prisma ORM v7) (/docs/orm/v7/prisma-client/special-fields-and-types) > For the complete Prisma documentation index, see [llms.txt](https://www.prisma.io/docs/llms.txt). A markdown version of any docs page is available by appending `.md` to its URL. Learn how to use about special fields and types with Prisma Client Location: ORM > v7 > Prisma Client > Fields & types This section covers various special fields and types you can use with Prisma Client. ## Working with `Decimal` [#working-with-decimal] `Decimal` fields are represented by the [`Decimal.js` library](https://mikemcl.github.io/decimal.js/). The following example demonstrates how to import and use `Prisma.Decimal`: ```ts import { PrismaClient, Prisma } from "@prisma/client"; const newTypes = await prisma.sample.create({ data: { cost: new Prisma.Decimal(24.454545), }, }); ```
You can also perform arithmetic operations: ```ts import { PrismaClient, Prisma } from "@prisma/client"; const newTypes = await prisma.sample.create({ data: { cost: new Prisma.Decimal(24.454545).plus(1), }, }); ``` `Prisma.Decimal` uses Decimal.js, see [Decimal.js docs](https://mikemcl.github.io/decimal.js) to learn more. > [!WARNING] > The use of the `Decimal` field [is not currently supported in MongoDB](https://github.com/prisma/orm/issues/12637). ## Working with `BigInt` [#working-with-bigint] ### Overview [#overview] `BigInt` fields are represented by the [`BigInt` type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) (Node.js 10.4.0+ required). The following example demonstrates how to use the `BigInt` type: ```ts import { PrismaClient, Prisma } from "@prisma/client"; const newTypes = await prisma.sample.create({ data: { revenue: BigInt(534543543534), }, }); ``` ### Serializing `BigInt` [#serializing-bigint] Prisma Client returns records as plain JavaScript objects. If you attempt to use `JSON.stringify` on an object that includes a `BigInt` field, you will see the following error: ``` Do not know how to serialize a BigInt ``` To work around this issue, use a customized implementation of `JSON.stringify`: ```js JSON.stringify( this, (key, value) => (typeof value === "bigint" ? value.toString() : value), // return everything else unchanged ); ``` ## Working with `Bytes` [#working-with-bytes] `Bytes` fields are represented by the [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) type. The following example demonstrates how to use the `Uint8Array` type: ```ts import { PrismaClient, Prisma } from "@prisma/client"; const newTypes = await prisma.sample.create({ data: { myField: new Uint8Array([1, 2, 3, 4]), }, }); ``` ## Working with `DateTime` [#working-with-datetime] > [!NOTE] > There currently is a [bug](https://github.com/prisma/orm/issues/9516) that doesn't allow you to pass in `DateTime` values as strings and produces a runtime error when you do. `DateTime` values need to be passed as [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) objects (i.e. `new Date('2024-12-04')` instead of `'2024-12-04'`). When creating records that have fields of type [`DateTime`](https://www.prisma.io/docs/orm/v7/reference/prisma-schema-reference#datetime), Prisma Client accepts values as [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) objects adhering to the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. Consider the following schema: ```prisma model User { id Int @id @default(autoincrement()) birthDate DateTime? } ``` Here are some examples for creating new records: ##### Jan 01, 1998; 00 h 00 min and 000 ms [#jan-01-1998-00-h-00-min-and-000-ms] ```ts await prisma.user.create({ data: { birthDate: new Date("1998"), }, }); ``` ##### Dec 01, 1998; 00 h 00 min and 000 ms [#dec-01-1998-00-h-00-min-and-000-ms] ```ts await prisma.user.create({ data: { birthDate: new Date("1998-12"), }, }); ``` ##### Dec 24, 1998; 00 h 00 min and 000 ms [#dec-24-1998-00-h-00-min-and-000-ms] ```ts await prisma.user.create({ data: { birthDate: new Date("1998-12-24"), }, }); ``` ##### Dec 24, 1998; 06 h 22 min 33s and 444 ms [#dec-24-1998-06-h-22-min-33s-and-444-ms] ```ts await prisma.user.create({ data: { birthDate: new Date("1998-12-24T06:22:33.444Z"), }, }); ``` ## Related pages - [`Type safety Overview`](https://www.prisma.io/docs/orm/v7/prisma-client/type-safety): Prisma Client provides full type safety for queries, even for partial queries or included relations. This page explains how to leverage the generated types and utilities - [`What are Client Extensions`](https://www.prisma.io/docs/orm/v7/prisma-client/client-extensions): Extend the functionality of Prisma Client - [`Write your own SQL`](https://www.prisma.io/docs/orm/v7/prisma-client/using-raw-sql): Learn how to use raw SQL queries in Prisma Client