DB Oracle与Access在开发中的不同之处
1. 函数名称的 不同 功能 Oracle Access 字符函数: 返回字符的 ASCII 码 ASCII(x) ASC(x) 返回 ASCII 为 X 的字符 CHR(x) CHR(x) 式化字符串 To_Char( x, format ) Format(x, format) 转换字母大小写 LOWER(x)UPPER(x) LCASE(x)UCASE(x) 求字符串长度 LENGT
1.函数名称的不同
功能 |
Oracle |
Access |
字符函数: |
|
|
返回字符的ASCII码 |
ASCII(x) |
ASC(x) |
返回ASCII为X的字符 |
CHR(x) |
CHR(x) |
格式化字符串 |
To_Char( x, format ) |
Format(x, format) |
转换字母大小写 |
LOWER(x) UPPER(x) |
LCASE(x) UCASE(x) |
求字符串长度 |
LENGTH(x) |
LEN(x) |
去除字符串中的空格 |
LTRIM(x[, trim_string]), RTRIM(x[,trim_string]) TRIM([trim_string From ]x) |
LTRIM(x) RTRIM(x) TRIM(x) |
取子字符串 |
SUBSTR(x, start[,length]) |
LEFT(x, length) MID(x,start,length) RIGHT(x,length) |
转换函数: |
|
|
如果X与search相等,返回result,否则,返回default |
Decode(x, search,result,default) |
IIF(x=search, result, default) |
将数字转换为字符串 |
To_Char(x) |
CStr(x) |
将字符串转换为数字 |
To_Number(x) |
CDbl() --转换为dbouble |
如果ColName为空,返回result,否则,返回ColName的值。 |
NVL(ColName, result) |
IIF(IsNull(ColName), result, ColName) |
日期函数: |
|
|
当前系统时间(日期小时分秒) |
sysdate |
NOW() |
当前日期 |
Trunc(sysdate) |
DATE() |
当前时间 |
-- |
TIME() |
返回时间的某个部分 |
To_Char( sysdate, ‘yyyy’ ) To_Char( sysdate, ‘mm’ ) To_Char( sysdate, ‘dd’ ) To_Char( sysdate, ‘hh’ ) To_Char( sysdate, ‘mi’ ) To_Char( sysdate, ‘ss’ ) Extract( Year From Sysdate ) Extract( Month From Sysdate) Extract( Day From Sysdate) Extract( Hour From TimeStamp '2007-09-27 0:0:0') Extract( Minute From TimeStamp '2007-09--27 23:59:59') |
Year(now()) Month(now()) Day(now()) Hour(now()) Minute(now()) Second(now()) DatePart(format, now()) |
将字符串转换为日期 |
To_Date( x, format ) |
CDate(x ) #date_string# |
2.SQL语句实现的差别
1、Oracle支持连续的Left Join,但是Access不支持。
Access实现Oracle的连续两个Left Join的方法:
Select * From TblA Left Join
(Select * From TblB Left Join TblC )
2、Access给字段起别名是必须用AS,但是Oracle不用AS也可以,建议起别名全部都用AS
3、Oracle可以使用 Select Count( Distinct ColumnName ) From…..的语法,但是Access中不可以。Access中要实现这样的功能,要使用嵌套查询:
Select Count(*) From
( Select Distinct ColumnName From Tbl….)
4、Oracle中,如果TblA Left Join TblB,那么结果集是TblA中数据的数量。但是在Access中,TblA Left Join TblB,结果集的数量是TblA* TblB的数量。
5、在Oracle中,用一条SQL向一个递增的字段插入数据可以使用如下SQL:
Insert Into TblA ( N_ID ) Values ( ( Select ( Nvl( Max(N_ID), 0 )+1 ) from TblA ) );
但是由于函数的不同,在Access中需要使用下面的SQL:
Insert Into TblA( N_ID ) Values ( IIF( IsNull(DLookUp( ‘Max(N_ID)+1’, ‘TblA’, ‘’ ) ), 1, DLookUp( ‘Max(N_ID)+1’, ‘TblA’, ‘’ ) ) );
DLookUp是Access的一个内置的函数,使用方法为:
DLookup("字段名称" , "表或查询名称" , "条件")
返回的结果为:从根据“条件”,从“表或查询名称”中查出“字段名称”的值。
3.使用Delphi时遇到的一些问题的解决办法
1、不正常地定义参数对象。提供了不一致或不完整的信息
这个错误经常出现在操作Access数据库的日期字段时发生。原因为,Delphi默认将:X认为是一个参数,而Access中的时间可以表示为#2007-01-01 10:11:12#,这样,Delphi在解析这个字符串时会出问题。
解决方法有两个:
1 在给TADOQuery对象的SQL属性赋值前,先调用qry.ParamCheck := True;然后再执行后续操作。在操作完成后,执行qry.ParamCheck := False,恢复默认设置。
2 SQL语句中,将日期类型的字段全部作为参数来操作,例如:
sSql := ‘Insert Into TblA ( D_Date ) values (:D_Date)’;
qry.SQL.Text := sSql;
qry.ParamByName(‘D_Date’).Value := DateValue;
2、类似于“不可更新的查询”的错误。
Access数据库是只读的,更改使其为可写即可。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle で 1 日に 1 回実行されるスケジュールされたタスクを作成するには、次の 3 つの手順を実行する必要があります。 ジョブを作成します。ジョブにサブジョブを追加し、そのスケジュール式を「INTERVAL 1 DAY」に設定します。ジョブを有効にします。

Oracle データベースに必要なメモリの量は、データベースのサイズ、ワークロードの種類、同時ユーザーの数によって異なります。一般的な推奨事項: 小規模データベース: 16 ~ 32 GB、中規模データベース: 32 ~ 64 GB、大規模データベース: 64 GB 以上。考慮すべきその他の要素には、データベースのバージョン、メモリ最適化オプション、仮想化、ベスト プラクティス (メモリ使用量の監視、割り当ての調整) などがあります。
