char

MySql 时间戳存char还是存int?

折月煮酒 提交于 2020-02-25 19:10:21
一次小事故,让我对时间戳存char还是存int有了深刻的印象。 生产环境的sql条件涉及到时间戳字段的大小比较(between and),当时设计的时间戳类型是char(10),结果当数据量达到200万时,虽然建立了索引,但仍旧瞬间崩溃。查询时间到达几十分钟。 多方调试无果下,将时间戳类型是char(10)改成int(10),瞬间秒开。查询速度控制在了 0.03秒以内。性能提升万倍。 来源: oschina 链接: https://my.oschina.net/u/3371661/blog/3156228

SQL Server数据类型

烂漫一生 提交于 2020-02-25 14:12:05
SQL Server 数据类型 Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串。最多 8,000 个字符。 n varchar(n) 可变长度的字符串。最多 8,000 个字符。 varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符。 text 可变长度的字符串。最多 2GB 字符数据。 Unicode 字符串: 数据类型 描述 存储 nchar(n) 固定长度的 Unicode 数据。最多 4,000 个字符。 nvarchar(n) 可变长度的 Unicode 数据。最多 4,000 个字符。 nvarchar(max) 可变长度的 Unicode 数据。最多 536,870,912 个字符。 ntext 可变长度的 Unicode 数据。最多 2GB 字符数据。 Binary 类型: 数据类型 描述 存储 bit 允许 0、1 或 NULL binary(n) 固定长度的二进制数据。最多 8,000 字节。 varbinary(n) 可变长度的二进制数据。最多 8,000 字节。 varbinary(max) 可变长度的二进制数据。最多 2GB 字节。 image 可变长度的二进制数据。最多 2GB。 Number 类型: 数据类型 描述 存储 tinyint 允许从 0 到 255 的所有数字。 1 字节

c# byte char string转换

你离开我真会死。 提交于 2020-02-25 07:11:13
在在做一些互操作的时候往往需要一些类型的相互转换,比如用c#访问win32api的时候往往需要向api中传入DWORD参数 即:uint参数这些数值所表示的数据在实际的应用中可能需要以字符的形式显示,但是c#对api的关系无法跟c++相比,所以在c#中进行一些类型数据的转换十分必要了, 下面将用到的一些简单的转换操作贴上来,方便记忆 uint--->byte[] byte[] bpara =System.BitConverter.GetBytes(uint upara); byte[]--->uint uint upara= System.BitConverter.ToUint32(bpara); byte--->char system.convert.tochar(bpara); char--->byte system.convert.tobyte(cpara); byte[]--->char[] (1)char[] cpara= System.Text.Encoding.Default.GetChars(bpara);(1) (2)char[] cpara=new char[bpara.length]; for(int i=0;i <bpara.length;i ++){char[i]=system.convert.tochar(bpara[i]);} (3)char[]

java基础 数据类型

久未见 提交于 2020-02-25 01:55:01
Java八种基本数据类型 1)四种整数类型(byte、short、int、long): byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 32767 int:32 位、最常用,-2^31-1~2^31 (21 亿) long:64 位、次常用 注意事项: int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。 整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。 小于 32 位数的变量,都按 int 结果计算。 强转符比数学运算符优先级高。见常量与变量中的例子。 2)两种浮点数类型(float、double): float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。 double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾 注意事项: 二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方) 尾数: . 1010100010 指数:1010 基数:2 浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f

pl/sql函数学习

我的未来我决定 提交于 2020-02-25 01:10:17
7種函數的詳細介紹及用法: 1、錯誤報告(error reporting)函數 sqlcode 返回 oracle 錯誤號 sqlerrm 返回oracle錯誤信息 主要用於異常處理 declare err_num number; err_msg varchar2(100); begin ... exception ... when others then /*當引發異常的時候,將SQLERRM和SQLCODE值取出,插入表ERRORS中*/ err_num:=sqlcode; err_msg:=substr(sqlerrm,1,100); insert into errors(errnum,errmsg) values(err_num,err_msg); end; 2、數值(Number)函數 abs 返回絕對值 acos 返回以弧度為單位的反余弦值 asin 返回以弧度為單位的反正弦值 atan(m) 返回m的反正切值(以弧度為單位),即返回arctan(m) atan2(m,n) 返回m與n的反正切值即返回aretan(m/n) bitand 位與函數,即按位相與 ceil 返回大於等於特定值的最小整數 cos 返回以弧度為單位的余弦值 cosh 返回以弧度為單位的雙曲余弦值 exp 求e的x方(e=2.71828,如 exp(3)=e的3次方) floor

文件操作

眉间皱痕 提交于 2020-02-24 23:01:24
一.文件的打开与关闭  1.定义文件指针的一般形式:FILE *指针变量标识符  2.C语言中有三个特殊的文件指针无需定义、打开可直接使用:    stdin:标准输入,默认为当前终端(键盘)      我们使用的scanf、getchar、函数默认从此终端获得数据    stdout:标准输出,默认为当前终端(屏幕)      我们使用的printf、puts函数默认输出信息到此终端    stderr:标准出错,默认为当前终端(屏幕)      当我们程序出错或使用perror函数时信息打印在此终端  3.打开文件    FILE *fp = NULL;    fp = fopen(文件名,文件打开方式);    • 文件名:要操作的文件的名字,可以包含路径信息     • 文件打开方式:"读"、"写"、"文本"、"二进制"等    • fp文件指针:指向被打开的文件,失败返回空,成功返回相应指针    例如:FILE *fp = NULL;       fp = fopen("test.txt","r");       if(fp == NULL)        printf("File open error\n");  4.文件打开的几种方式:读写权限:r  w  a  +   r:以只读方式打开文件     文件不存在,返回NULL     文件存在,返回文件指针

04、extern引用全局变量

旧巷老猫 提交于 2020-02-24 22:01:56
这里强调一点就是关extern的声明: extern在声明中最主要的作用就是告诉编译器别的文件引用了全局变量XXXX。 举例: 有一个工程名字叫 Project1。 Project1下面有两个.cpp源文件,分别为main.cpp和other.cpp other.cpp内容如下: 1 char g_char = ' A’; main.cpp内容如下: 1 #include<iostream> 2 #include<Windows.h> 3 4 using namespace std; 5 6 std::string g_str; 7 8 extern char g_char; // 告诉编译器我要引用g_char这个全局变量 9 int main(void) 10 { 11 cout << "g_char===>" << g_char << endl; 12 g_char = 'B'; 13 cout << "g_char===>" << g_char << endl; 14 system("pause"); 15 return 0; 16 } 输出结果: g_char===>A g_char===>B 来源: https://www.cnblogs.com/tito/p/12358659.html

Linux C 知识 char型数字转换为int型 int型 转换为Char

落爺英雄遲暮 提交于 2020-02-24 16:50:01
前言 在九度oj做acm的时候,经常会遇到了char类型和int类型相互转化的问题,这里进行一下总结。今后,可能会多次更新博客,因为半年做了很多总结,但是都是保存在word文档上了,现在开始慢慢向CSDN博客转移。 问题类型 char型数字转换为int型 转换方法 a[i] - '0' 参考程序 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char str[10]; int i, len; while(scanf("%s", str) != EOF) { for(i = 0, len = strlen(str); i < len; i++) { printf("%d", str[i] - '0'); } printf("\n"); } return 0; } int类型转化为char类型 转换方法 a[i] + '0' 参考程序 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int number, i; char str[10]; while(scanf("%d", &number) != EOF) { memset(str, 0, sizeof(str)); i = 0; while

socket笔记2

梦想的初衷 提交于 2020-02-24 16:46:08
2.10 网络报文的数据格式定义及使用 网络报文包含两个部分,头和体。 服务端 // Created by Surser on 2020/1/17. // Copyright © 2020 Surser. All rights reserved. // #ifdef _WIN32 #include<windows.h> #include<WinSock2.h> #else #include <unistd.h> #include<arpa/inet.h> #include<string.h> #define SOCKET int #define INVALID_SOCKET (SOCKET) (~0) #define SOCKET_ERROR (-1) #endif #include <stdio.h> #include<thread> #include<iostream> using namespace std; enum CMD { CMD_LOGIN, CMD_LOGOUT, CMD_ERROR }; struct DataHeader { short dataLength; short cmd; }; //DataPacket struct Login { char userName[32]; char PassWord[32]; }; struct LoginResult

Linux多线程编程初探

南笙酒味 提交于 2020-02-24 14:37:20
Linux线程介绍 进程与线程   典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。     进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。   线程 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程包含了表示进程内执行环境必须的信息,其中包括进程中表示线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、errno常量以及线程私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本、程序的全局内存和堆内存、栈以及文件描述符。在Unix和类Unix操作系统中线程也被称为轻量级进程(lightweight processes),但轻量级进程更多指的是内核线程(kernel thread),而把用户线程(user thread)称为线程。 "进程——资源分配的最小单位,线程——程序执行的最小单位"