ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามคำสั่ง REPLACE ค่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามคำสั่ง REPLACE ค่ะ  (อ่าน 1638 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« เมื่อ: 02 มิถุนายน 2011, 15:35:11 »

พอดีใช้ excel ทำ database แต่ว่ารูปแบบวันที่อ่ะค่ะมันเป็น 1/2/2554 เปลี่ยนใน excel ไม่ได้
เลยอยากใช้คำสั่ง REPLACE แทนที่ ให้เป็น 01/02/2554 แต่มันไม่ได้อ่ะค่ะ

โค๊ด:
UPDATE emp
SET reg_date = REPLACE(reg_date,"dd/m/yyyy","dd/mm/yyyy")

ไม่รู้ว่าทำถูกไหม
บันทึกการเข้า

tapanon
ก๊วนเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 363



ดูรายละเอียด
« ตอบ #1 เมื่อ: 02 มิถุนายน 2011, 15:38:48 »

data type ของฟิวส์เป้นอะไรครับ date time หรือ?
บันทึกการเข้า

รับเขียนเว็บไซด์และโปรแกรม (php, vb.net, c#.net, graphic, css, template)  ด้วยทีมงานมืออาชีพทุกคนครับ  PM มาเลยครับ
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #2 เมื่อ: 02 มิถุนายน 2011, 15:42:06 »

ใช้เป็น varchar(10)ค่ะ
บันทึกการเข้า

tapanon
ก๊วนเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 363



ดูรายละเอียด
« ตอบ #3 เมื่อ: 02 มิถุนายน 2011, 15:48:46 »

ถ้า varchar เป็นผมก็ Export เป็น txt ออกมาแล้วเขียน program อ่านทีละแถว  logic มีก็คือ split ด้วย / แล้วเอามาเก็บใน array แล้ววิ่งเช็ค array ทีละ index ถ้ามี 1 หลัก  ก็เติม 0 ข้างหน้า  แล้วก็เขียนลงไฟล์แล้ว Import เข้า DB
บันทึกการเข้า

รับเขียนเว็บไซด์และโปรแกรม (php, vb.net, c#.net, graphic, css, template)  ด้วยทีมงานมืออาชีพทุกคนครับ  PM มาเลยครับ
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #4 เมื่อ: 02 มิถุนายน 2011, 16:02:03 »

ข้อมูลมันมีหมื่นกว่า Record อ่ะค่ะ แล้ววันที่มันก็ไม่เหมือนกัน ถ้าทำแบบนั้นมันจะได้ทีละบรรทัดใช่ไหมค่ะ
ไอซ์เข้าใจถูกไหมน่ะ -*- อธิบายทีค่ะ
บันทึกการเข้า

Taobsd
ก๊วนเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 310



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 02 มิถุนายน 2011, 16:54:27 »

ลองใช้คำสั่ง



UPDATE emp
SET reg_date = case when substring(reg_date,5,1)  = '/' then
      substring(reg_date,1,3) + '0' + right(reg_date,6)
         else reg_date end

ถ้าใช้เป็น MYSQL ลองแปลง คำสั่ง เล็กน้อยนะครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์