SQL文コメントのクライアント依存性

 

調べた範囲では、mysql clientだけデフォルトでコメント削除する

(8.0.31)


select /* test20221221 */ sleep(10000);

show processlist\G

[1]mysql clientの場合
デフォルトではSQLのコメントは除去されるため、表示されない★

※ cオプション付与でコメントは表示される

  -c, --comments      Preserve comments. Send comments to the server. The
                      default is --skip-comments (discard comments), enable
                      with --comments.

[2]JDBCの場合
コメントは表示される

 

(19c)


begin /* test20221221 */ dbms_lock.sleep(10000);end;
/


select SQL_ID,SQL_TEXT from v$sqlstats where sql_text like '%test20221221%';


[1]sqlplusの場合
コメントは表示される

[2]JDBCの場合
コメントは表示される

(15)

select /* test20221221 */ pg_sleep(10000);

 

[1]psqlの場合
コメントは表示される

[2]JDBCの場合
コメントは表示される

 

 

(2019)

waitfor /* test20221221 */ delay '10:00:00';
go

select B.text,A.start_time,A.wait_type,A.sql_handle
from sys.dm_exec_requests A
cross apply sys.dm_exec_sql_text(sql_handle) B
where B.text like '%test20221221%';
go


[1]sqlcmdの場合
コメントは表示される

[2]JDBCの場合
コメントは表示される