Data Type Conversion

Data type conversions can be achieved through either data type conversion functions or function cast($).

DolphinDB supports type conversion functions including string, bool, char, short, int, long, double, date, month, time, second, minute, datetime, timestamp, symbol, nanotime, nanotimestamp, datehour, uuid, ipaddr, int128, blob, complex, point, duration, decimal32, decimal64, decimal128.

Each individual function has 3 usages:

  • Create a new variable with null value

  • Convert from a string

  • Convert from other data types

Note:
  • All these functions (except for symbol) accept zero or one parameter. If there is no input parameter, it creates a corresponding scalar object with a default value. If the parameter is a string or string vector, it will convert the string to the target data type accordingly. Other types are converted accordingly if they are semantically compatible.

  • The short, int, and long functions use rounding to convert floating-point numbers to integers, and use truncation to convert strings by discarding the fractional part of that given value.

string

// make a new string with default value ""
string()=="";
// output: 1

string(10);
// output: 10

typestr string(108.5);
// output: STRING

string(now());
// output: 2016.03.02T20:55:31.287

bool

x=bool();
x;
// output: 00b
typestr x;
// output: BOOL

bool(`true);
// output
1
bool(`false);
// output: 0

bool(100.2);
// output: 1

bool(0);
// output: 0

int

x=int();
x;
// output: 00i

typestr x;
// output: INT

int(`10.9);
// output: 10

int(2147483647);
// output: 2147483647

// maximum value for an INT is 2^31-1=2147483647
int(2147483648);

// output: 00i

short

x=short();
x;
// output:00h

typestr x;
// output: SHORT

short(`12.3);
// output: 12

short(`120.9c);
// output: 120

short(32767);
// output: 32767


/ maximum value for a SHORT is 2^15-1=32767
short(32768);

// output: 00h

long

x=long();
x;
// output: 00l

typestr x;
// output: LONG

long(`10.9);
// output: 10

long(9223372036854775807l);
// output: 9223372036854775807

// maximum value for LONG is 2^63-1=9223372036854775807
long(9223372036854775808l);

// output: 9223372036854775807

char

x=char();
x;
// output: 00c
typestr x;

// output: CHAR

a=char(99);
a;

// output: 'c'

typestr a;

// output: CHAR

char(a+5);

// output: 'h'

double

x=double();
x;

// output: 00F

typestr x;

// output: DOUBLE

typestr double(`10);

// output: DOUBLE

double(`10.9);

// output: 10.9

double(now());

// output: 5.297834e+011

date

date();

// output: 00d

date(`2011.10.12);

// output: 2011.10.12

date(now());

// output: 2016.03.02

datetime

datetime(2009.11.10);

// output: 2009.11.10T00:00:00

typestr datetime(2009.11.10);

// output: DATETIME

datetime(now());

// output: 2016.03.02T20:51:10

timestamp

timestamp(2016.10.12);

// output: 2016.10.12T00:00:00.000

timestamp(2016.10.12)+1;

// output: 2016.10.12T00:00:00.001

timestamp(now());

// output: 2016.10.13T20:28:45.104

month


 month();

// output: 0M


 month(`2012.12m);


// output: 012.12M


/make a month variable from date

 month(2012.12.23);


// output: 012.12M

//make a month variable from timestamp

 month(now());


// output: 016.03M

second

second();

// output: 00s

second("19:36:12");

// output: 19:36:12

second(now());

// output: 20:50:31

minute

minute();

// output: 00m

minute(now());

// output: 20:49m

time

time();

// output: 00t

time("12:32:56.356");

// output: 12:32:56.356

time(now());

// output: 20:49:12.564

symbol

x=`AMZN`AAPL`GOOG`FB`SNAP;

x;

// output: ["AMZN","AAPL","GOOG","FB","SNAP"]

typestr x;

// output: STRING VECTOR

y=symbol(x);

y;

// output: ["AMZN","AAPL","GOOG","FB","SNAP"]

typestr y;

// output: FAST SYMBOL VECTOR

cast(X, dataTypeName) / $

x=3.1;
typestr x;

// output: DOUBLE

x=cast(x, int);
// can also use cast(x, INT)

x;
// output: 3
typestr x;
// output: INT

19.99$INT;
// output: 20

syms =`IBM`C`MS`MSFT`JPM`ORCL`BIDU`SOHU
typestr syms;
// output: STRING VECTOR
syms=syms$SYMBOL;
typestr syms;
// output: FAST SYMBOL VECTOR

For more about the cast function please see cast.