zoukankan      html  css  js  c++  java
  • 总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法

    View Code
    总结一下SQL语句中引号('')、quotedstr()、('''')、format()在SQL语句中的用法以
    及SQL语句中日期格式的表示(#)、(
    '''')
    在Delphi中进行字符变量连接相加时单引号用(
    ''''''),又引号用('''''''')表示
    首先定义变量
    var
    AnInt:integer
    =123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某些情况下不对
    AnIntStr:
    string=''456'';
    AStr:
    string=''abc'';
    AFieldName:
    string=''字符型编号'';
    ATableName:
    string=''YourTable'';
    ADate:Tdatetime
    =now;
    Adoquery1:tadoquery;
    1,Delphi语句
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 字符型编号=''abc'' and 整型编号=123'';
    等价于
    adoquery1.sql.text:
    =
    ''select ''+AFieldName+'' from ''+ATableName+'' where ''+AFieldName
    +''=''''''+AStr+'''''' and 整型编号=''+AnIntStr;
    也等价于
    adoquery1.sql.text:
    =
    ''select ''+AFieldName+'' from ''+ATableName+'' where ''+AFieldName
    +''=''+QuotedStr(AStr)+'' and 整型编号=''+Inttostr(AnInt);

    传到数据库服务器为:
    select 字符型编号 from YourTable where 字符型编号
    =''abc'' and 整型编号=123

    2,Delphi语句中日期表示
    对于access数据库:
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段=#2003-12-01#'';
    等价于:
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段=#''+FormatDateTime(''yyyy-MM-dd'',now)+''#'';
    传到服务器为:
    select 字符型编号 from YourTable where 日期型字段
    =#2003-12-01#

    对于MSSQL数据库:
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段=''2003-12-01'''';
    等价于:
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段=''''''+FormatDateTime(''yyyy-MM-dd'',now)+'''''''';
    也等价于:
    等价于:
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now));

    传到服务器为:
    select 字符型编号 from YourTable where 日期型字段
    =''2003-12-01''

    日期字段还可以这样表示
    Delphi语句
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段>=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now))
    +'' and 日期型字段<=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now+1));//明天
    等价于
    adoquery1.sql.text:
    =
    ''select 字符型编号 from YourTable where 日期型字段 between ''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now))
    +'' and ''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now+1));




    如果用
    adoquery1.sql.add();
    形式又如何操作?请用Insert语句示例

    adoquery1.sql.add(
    '' insert into ''+AtableName);
    adoquery1.sql.add(
    '' ( ''+AFieldName+'')'');
    adoquery1.sql.add(
    '' values( ''+quotedstr(AStr)+'')'');

    编辑器加载中...

  • 相关阅读:
    优雅的windowsC++项目的配置
    C++实现编码转换
    C++读取配置文件
    完全依赖QML实现播放器
    记一次和“N+1”的擦肩而过
    FFmpeg4.0笔记:采集系统声音
    FFmpeg4.0笔记:采集桌面
    FFmpeg4.0笔记:封装ffmpeg的解封装功能类CDemux
    SDL2:封装媒体显示播放Csdl2
    FFmpeg4.0笔记:封装ffmpeg的音频重采样功能类CSwr
  • 原文地址:https://www.cnblogs.com/94YY/p/2130963.html
Copyright © 2011-2022 走看看