Home | О проекте | Новости | Рекламные статейки

Конвертация Типов Данных

В БД имеется богатый набор типов данных. Машина выполнения JavaScript на сервере конвертирует эти типы данных в значения JavaScript, строки или числа. Число в JavaScript хранится как значение двойной точности с плавающей точкой. Вообще машина выполнения конвертирует символьные типы данных в строки, числовые типы данных - в числа, а даты - в Date -объекты JavaScript. Она также конвертирует null-значения в JavaScript null.

1.Рекламка: s |

Поскольку JavaScript не поддерживает фиксированные или упакованные десятеричные числа, возможна некоторая потеря точности при чтении и записи типов упакованных десятеричных данных. Проверьте результаты до вставки их обратно в БД и используйте соответствующие математические функции для коррекции потери точности.

 
Работа с Датами и Базами Данных
2.Рекламка: s | ;
x |   

Значения даты, запрошенные из базы данных, конвертируются в Date -объекты JavaScript. Чтобы вставить значение даты в БД, используйте Date -объект JavaScript так:

cursorName.dateColumn = dateObj

Здесь cursorName это курсор, dateColumn это столбец, соответствующий дате, а dateObj это Date -объект JavaScript. Вы создаёте Date -объект, используя оператор new и Date -конструктор:

dateObj = new Date(dateString)

где dateString это строка, представляющая дату. Если dateString - пустая строка, создаётся Date -объект для текущей даты. Например:

custs.orderDate = new Date("Jan 27, 1997")

Базы Данных DB2 имеют типы данных time и timestamp. Эти типы конвертируются в тип Date в JavaScript.

LiveWire Database Service не может обрабатывать даты после 5 февраля 2037 года.

 
Конвертация Типов Данных Базой Данных

В следующей таблице показана конвертация, выполняемая машиной выполнения JavaScript для баз данных DB2

Тип Данных DB2 Тип Данных JavaScript
char(n), varchar(n), long varchar, clob(n) string
integer, smallint integer
decimal, double double
date, time, timestamp Date
blob Blob

В следующей таблице дана конвертация БД Informix.

Тип Данных Informix Тип Данных JavaScript
char, nchar, text, varchar, nvarchar string
decimal(p,s), double precision, float, integer, money(p,s), serial, smallfloat, smallint number
date, datetime Date
byte Blob
interval Не поддерживается

Тип даты Informix datetime имеет точность переменных, определяемых пользователем. Серверный JavaScript выводит данные datetime в формате от YEAR до SECOND. Если datetime -переменная была определена с другой точностью, такой как от MONTH до DAY, она может быть отображена некорректно. В данном случае дата не нарушится некорректным отображением.

ODBC транслирует типы данных продавца в типы данных ODBC. Например, в Microsoft SQL Server тип данных varchar конвертируется в ODBC-тип SQL_VARCHAR. Дополнительно см. документацию ODBC SDK.

В следующей таблице показана конвертация, выполняемая машиной JavaScript для баз данных ODBC.

Тип Данных ODBC Тип Данных JavaScript
SQL_LONGVARCHAR, SQL_VARCHAR, SQL_CHAR string
SQL_SMALLINT, SQL_INTEGER, SQL_DOUBLE, SQL_FLOAT, SQL_REAL, SQL_BIGINT, SQL_NUMERIC, SQL_DECIMAL number
SQL_DATE, SQL_TIME, SQL_TIMESTAMP Date
SQL_BINARY, SQL_VARBINARY, SQL_LONGBINARY Blob

В следующей таблице показана конвертация, выполняемая машиной выполнения JavaScript для баз данных Oracle

Тип Данных Oracle Тип Данных JavaScript
long, char(n), varchar2(n), rowid string
number(p,s), number(p,0), float(p) number
date Date
raw(n), long raw Blob

В следующей таблице показана конвертация, выполняемая машиной выполнения JavaScript для баз данных Sybase

Тип Данных Sybase Тип Данных JavaScript
char(n), varchar(n), nchar(n), nvarchar(n), text string
bit, tinyint, smallint, int, float(p), double precision, real, decimal(p,s), numeric(p,s), money, smallmoney number
datetime, smalldatetime Date
binary(n), varbinary(n), image Blob

Sybase-клиент ограничивает числовые типы данных 33 цифрами. Если Вы вставляете число JavaScript с большим количеством цифр в БД Sybase, Вы можете получить ошибку.


footer:
Rambler's Top100