お世話になっております。
もしOracleやSQL Serverに関してご存知の方が
いらっしゃいましたらご教授ください。
今、業務で
「Oracleに載せるシステムをSQL Serverで載せられないか?」
という話が出ており私が調査を行う事になりました。
しかし私のSQL Server経験が浅い為困っている点があります。
(以下の質問は当然ですがシステムで動く・動かない
の話はヌキにしてのSQLレベルでの話です)
・Oracle特有のSQL構文をSQL Serverに見合った構文に
直すことによって(DATE→datetime/NUMBER→int等)一般的な
SELECT文、INSERT、UPDATE、DELETE文はそのまま使う事が可能か?
・上の件に関する経験をお持ちの方・知識のある方にお聞きしますが
何かこの件に関する注意点などありますでしょうか?
の2点になります。
どうかご存知の方がいらっしゃいましたらお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
SQLはOracleであってもSQLServerでも基本的に同じです。
基本的にOracleと違うのはSQLServerは一つのインスタンスに複数のデータベースを対応させられる。
>Oracle特有のSQL構文をSQL Serverに見合った構文に・・一般的なSELECT文、INSERT、UPDATE、DELETE文はそのまま使う事が可能か?
Oracle固有の関数はSQL-Serverでは使用できませんがその辺を考慮すればSELECT文、INSERT、UPDATE、DELETE文は使えます。
Oracleで日付を取るときはご存知のようにSYSDATE、SQLServerではSYSDATEのかわりにGETDATE関数を使います。
OracleのDATE型では秒単位までなのに対してSQLServerのDATETIME型は秒以下のレベルもある。Oracleでは日付データにTRUNC関数を使うことで日時の情報だけを取り出せますSQLServerでは時刻を切り捨てる関数はないのでconvertを使ったりします。でもSQLServerはDATEDIFF・DATEPART・DAY・MONTH・YEARを使って加算したり抜き出したりできる。
NULLの置き換えはOracleはNULLを置き換えるときにNVL関数を使いまがSQLServerではISNULL関数を使って記述します。
以上の様な使える関数と構文の違いを考慮すれば一般的なSQLは使えます。
No.1
- 回答日時:
"一般的な"がどういった内容をを指すのか分からないのですが、
そっくりそのまま、はできません。
Oracleの、例えば"(+)"はSQLServerでは使えない、など。
参考URLに、やや古いですが、関連記事のあるサイトを挙げます。
お使いの開発ソフトにも拠るとは思いますが、
いくらか、考察の助けになるのではないでしょうか?
参考URL:http://www.itmedia.co.jp/enterprise/0307/25/epn2 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- SQL Server SQL Oracle serverにって質問です。 会社テーブルがあり、そのテーブルから 社員名、給 4 2022/05/21 12:22
- Access(アクセス) Access VBAで条件を追加する(書き込む)場所 2 2022/03/23 12:05
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?
SQL Server
-
SQLで同じDBに対し2つのコネクションをもてる?
SQL Server
-
SQLでスキーマ名(所有者名)の修飾無しでテーブル参照したい
SQL Server
-
-
4
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
5
他のデータベースとのテーブル結合
SQL Server
-
6
データを削除しても表領域の使用率が減りません
Oracle
-
7
2つのテーブルから条件に一致しないデータ抽出
SQL Server
-
8
異なるサーバのDBデータ同士を結合するには?
Oracle
-
9
GROUP BYでエラーが発生
SQL Server
-
10
VB.NETでのzip圧縮について
Visual Basic(VBA)
-
11
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
12
SQLのエラー(~付近に不適切な構文があります)
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InformixのSQL文Where句で
-
T-SQLで任意の箇所で強制終了す...
-
pandasでsqlite3にテーブル作成...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
Excelでしりとりを作る方法
-
Accessで最新のレコード...
-
オシロスコープYOKOGAWA DL708...
-
truncate tableを使って複数の...
-
Activation codeとは
-
エラーを起こす方法
-
次の時間帯の勝率の合計を求め...
-
Accessの構成をコピーしたい
-
sqlに記述できない文字
-
PostgreSQLのtimestamp型で時間...
-
SQLのテーブルにないデータの出力
-
1つのドメインを複数のDNSで管...
-
認知心理学で言うスクリプトとは?
-
フラグをたてるってどういうこ...
-
自作アプリからAPIで他のアプリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
T-SQLで任意の箇所で強制終了す...
-
chr(13) と char(13) の違いっ...
-
OracleとSQL ServerのSQL文上で...
-
ゼロ未満の場合で更新する場合
-
SQLの「句」とはなんですか
-
複雑なSQL文を独学する方法
-
SELECT * FROM
-
IN句に副問合わせを使う場合と...
-
InformixのSQL文Where句で
-
MSSQLとMySQLのSQL文の違いにつ...
-
OracleのデータをACCESSでダン...
-
MySQLで改行を含んだ文を登録し...
-
SQL実行エラー時のロールバック...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
テーブル名が可変の場合のクエ...
-
エラーを起こす方法
おすすめ情報