• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/db/mssqlsqlhelper.php
  • Класс: BitrixMainDBMssqlSqlHelper
  • Вызов: MssqlSqlHelper::getFieldByColumnType
public function getFieldByColumnType($name, $type, array $parameters = null)
{
	switch($type)
	{
		case 4:
		case 5:
		case -6:
			//int SQL_INTEGER (4)
			//smallint SQL_SMALLINT (5)
			//tinyint SQL_TINYINT (-6)
			return new ORMFieldsIntegerField($name);

		case 2:
		case 3:
		case 6:
		case 7:
			//numeric SQL_NUMERIC (2)
			//decimal SQL_DECIMAL (3)
			//smallmoney SQL_DECIMAL (3)
			//money SQL_DECIMAL (3)
			//float SQL_FLOAT (6)
			//real SQL_REAL (7)
			return new ORMFieldsFloatField($name, array("scale" => $parameters["scale"]));

		case 93:
			//datetime - SQL_TYPE_TIMESTAMP (93)
			//datetime2 - SQL_TYPE_TIMESTAMP (93)
			//smalldatetime - SQL_TYPE_TIMESTAMP (93)
			return new ORMFieldsDatetimeField($name);

		case 91:
			//date - SQL_TYPE_DATE (91)
			return new ORMFieldsDateField($name);
	}
	//bigint SQL_BIGINT (-5)
	//binary SQL_BINARY (-2)
	//bit SQL_BIT (-7)
	//char SQL_CHAR (1)
	//datetimeoffset SQL_SS_TIMESTAMPOFFSET (-155)
	//image SQL_LONGVARBINARY (-4)
	//nchar SQL_WCHAR (-8)
	//ntext SQL_WLONGVARCHAR (-10)
	//nvarchar SQL_WVARCHAR (-9)
	//text SQL_LONGVARCHAR (-1)
	//time SQL_SS_TIME2 (-154)
	//timestamp SQL_BINARY (-2)
	//udt SQL_SS_UDT (-151)
	//uniqueidentifier SQL_GUID (-11)
	//varbinary SQL_VARBINARY (-3)
	//varchar SQL_VARCHAR (12)
	//xml SQL_SS_XML (-152)
	return new ORMFieldsStringField($name, array("size" => $parameters["size"]));
}